Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Αυτό το άρθρο περιγράφει ένα ζήτημα στο οποίο SEH εξαιρέσεις έχουν αλιευθεί από ένα εσφαλμένο δείκτη χειρισμού στο Windows ενσωματωμένο συμπαγή 2013. Διατίθεται μια ενημερωμένη έκδοση για να επιλύσετε αυτό το ζήτημα. Πριν να εγκαταστήσετε αυτήν την ενημερωμένη έκδοση, πρέπει να εγκαταστήσετε όλες τις ενημερωμένες εκδόσεις που έχουν εκδοθεί προηγουμένως για αυτό το προϊόν.

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Μπορείτε να χρησιμοποιήσετε τη Δόμηση εφαρμογών προσθήκης για το Visual Studio 2013 για να δημιουργήσετε μια εφαρμογή C++ που να στοχεύει στο Windows ενσωματωμένο συμπαγή 2013.

  • Μπορείτε να ενεργοποιήσετε την εξαίρεση ασύγχρονης χειρισμό, χρησιμοποιώντας το διακόπτη μεταγλωττιστή "/EHa". Αυτός ο διακόπτης επιτρέπει δύο C++ σύγχρονες και δομημένη χειρισμού εξαιρέσεων ασύγχρονη εξαίρεση (SEH) μέθοδοι προορίζονται να αναμειχθούν με τον ίδιο κωδικό χειρισμού.

  • Μπορείτε να εκτελέσετε τον σχετικό κωδικό για να τραβήξετε SEH εξαιρέσεις.

Σε αυτό το σενάριο, SEH εξαιρέσεις έχουν αλιευθεί πάντα στο πρόγραμμα χειρισμού εξαίρεσης πρώτη ακόμη και αν είναι φιλτραρισμένο για μια σύγχρονη εξαίρεση C++.

Η αναμενόμενη συμπεριφορά είναι SEH εξαιρέσεις που εντοπίζονται από το πρόγραμμα χειρισμού εξαιρέσεων αποσιωπητικά.

Για παράδειγμα, μπορείτε να εκτελέσετε το ακόλουθο δείγμα κώδικα:class CMyEx{
public:
CMyEx(int nParam) : m_nParam(nParam) { }
int m_nParam;
};

void TestExceptions()
{
try
{
int a = 42;
int b = 0;
// throw CMyEx(1);
// throw 97;
int c = a / b;
}
catch (const CMyEx &e)
{
wprintf(L"CMyEx exception caught (param=%d)!\n", e.m_nParam);
}
catch (...)
{
wprintf(L"Exception of unspecified type caught by ellipsis clause!\n");
}
}
Σε αυτό το δείγμα, πάντα χτυπήσετε το πρώτο όρο catch όταν παρουσιαστεί εξαίρεση SEH (ακέραια διαίρεση με το μηδέν) αντί για το πρόγραμμα χειρισμού έλλειψη, όπως αναμένεται.

Προτεινόμενη αντιμετώπιση

Πληροφορίες ενημερωμένης έκδοσης λογισμικού

Ενσωματωμένο συμπαγή 2013 μηνιαία ενημερωμένη έκδοση των Windows (Σεπτεμβρίου 2015) είναι τώρα διαθέσιμη από τη Microsoft. Για να κάνετε λήψη αυτό Μηνιαίας ενημερωμένης έκδοσης των Windows ενσωματωμένο συμπαγή 2013, μεταβείτε στην Microsoft OEM Online ή MyOEM.

Προϋποθέσεις

Αυτή η ενημερωμένη έκδοση υποστηρίζεται μόνο αν έχουν εγκατασταθεί επίσης όλες τις ενημερωμένες εκδόσεις που έχουν εκδοθεί προηγουμένως για αυτό το προϊόν.

Απαίτηση επανεκκίνησης

Μετά την εφαρμογή αυτής της ενημερωμένης έκδοσης, πρέπει να εκτελέσετε εκ νέου δημιουργία ολόκληρης της πλατφόρμας. Για να γίνει αυτό, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

  • Από το μενού Δημιουργία , επιλέξτε Καθαρή λύσηκαι, στη συνέχεια, επιλέξτε Δημιουργία λύσης.

  • Από το μενού Δημιουργία , επιλέξτε Αναδόμηση λύση.

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της ενημερωμένης έκδοσης λογισμικού.

Πληροφορίες αντικατάστασης ενημέρωσης

Αυτή η ενημερωμένη έκδοση δεν αντικαθιστά άλλες ενημερωμένες εκδόσεις.

Η αγγλική έκδοση αυτού του πακέτου ενημερωμένης έκδοσης λογισμικού έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα ζώνη ώρας στο στοιχείο " ημερομηνία και ώρα " στον πίνακα ελέγχου.

Αρχεία που περιλαμβάνονται σε αυτό το πακέτο ενημερωμένης έκδοσης

Όνομα αρχείου

Μέγεθος αρχείου

Ημ/νία

Ώρα

Διαδρομή

Frame.cpp

34,133

13-Nov-2014

23:06

Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh

Fullcrt.lib

30,027,378

09-Sep-2015

09:17

Public\Common\Oak\Lib\X86\Checked

Fullcrt.lib

30,228,292

09-Sep-2015

09:17

Public\Common\Oak\Lib\X86\Retail

Fullcrt.lib

28,759,836

09-Sep-2015

09:16

Public\Common\Oak\Lib\X86\Debug

Fullcrt.lib

29,278,300

09-Sep-2015

09:17

Public\Common\Oak\Lib\Armv7\Checked

Fullcrt.lib

29,566,730

09-Sep-2015

09:17

Public\Common\Oak\Lib\Armv7\Retail

Fullcrt.lib

33,139,560

09-Sep-2015

09:16

Public\Common\Oak\Lib\Armv7\Debug

Msvcr110d.dll

1,339,952

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.dll

754,224

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.map

1,287,579

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.rel

528,834

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.map

788,986

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.rel

242,169

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.dll

1,145,312

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.dll

539,608

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110d.map

2,714,275

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110d.rel

215,924

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.map

1,258,317

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.rel

122,167

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm


Αναφορές

Πληροφορίες σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερωμένων εκδόσεων λογισμικού.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×