ΕΠΙΔΙΌΡΘΩΣΗ: Απροσδόκητη συμπεριφορά όταν εκτελείτε μια εφαρμογή που δημιουργήθηκε Visual Studio 2008 Service Pack 1 καλεί τη συνάρτηση setjmp ή τη συνάρτηση longjmp σε ένα αρχείο προέλευσης δεδομένων

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 2498381
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Ενεργοποίηση (επιλογή το καθολικό βελτιστοποίησης)/Og) ενεργοποιώντας μία από τις παρακάτω επιλογές:
    • / Ο1 
    • / O2 
    • /Ox 
  • Μπορείτε να δημιουργήσετε ένα αρχείο προέλευσης δεδομένων του Microsoft Visual C++, χρησιμοποιώντας το Microsoft Visual Studio 2008 Service Pack 1 (SP1).
  • Οι κλήσεις του αρχείου προέλευσης τουsetjmpσυνάρτηση, τοlongjmpσυνάρτηση ή δύο λειτουργίες.

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

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή η βελτιστοποίηση λογαριασμού για το setjmpσυνάρτηση ή τοlongjmpη συνάρτηση. Αυτό προκαλεί "Βελτιστοποίηση" για να υπολογίσει σωστά τη διάρκεια ζωής του τοπικές μεταβλητές. Όταν αλλάζει μία μεταβλητή, μια άλλη μεταβλητή μπορεί να άλλαξε απροσδόκητα.

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

Πληροφορίες επείγουσας επιδιόρθωσης

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

Για να επιλύσετε αμέσως αυτό το ζήτημα, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα αριθμών τηλεφώνου υποστήριξης και εξυπηρέτησης πελατών Microsoft ή για να δημιουργήσετε ξεχωριστή αίτηση υπηρεσίας, επισκεφθείτε την ακόλουθη τοποθεσία Web της Microsoft:
http://support.Microsoft.com/contactus/?ws=support
Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης μπορεί να ακυρωθεί εάν ένας μηχανικός υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημα. Για πρόσθετες ερωτήσεις υποστήριξης και θέματα που αφορούν τη συγκεκριμένη ενημερωμένη έκδοση, θα ισχύσουν οι συνηθισμένες χρεώσεις υποστήριξης.

Για να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από τη συλλογή κώδικα Microsoft Developer Network (MSDN), επισκεφθείτε την ακόλουθη τοποθεσία Web της Microsoft:
http://Code.MSDN.Microsoft.com/KB2498381

Σημείωση Η συλλογή κωδικών του MSDN εμφανίζει τις γλώσσες για τις οποίες η επείγουσα επιδιόρθωση είναι διαθέσιμη. Εάν δεν βλέπετε τη γλώσσα σας στη λίστα, είναι επειδή η σελίδα πόρου συλλογής κώδικα δεν είναι διαθέσιμη για αυτήν τη γλώσσα.

Ή, μπορείτε να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από την ακόλουθη τοποθεσία Web Microsoft Connect:
https://Connect.Microsoft.com/VisualStudio/downloads/DownloadDetails.aspx;DownloadID = 34826

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

Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε το Microsoft Visual Studio 2008 Service Pack 1 εγκατεστημένο.

Πληροφορίες επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εγκατάσταση αυτής της επείγουσας επιδιόρθωσης, εάν έχετε διακόψει όλες τις εμφανίσεις του Visual Studio.

Πληροφορίες αντικατάστασης επείγουσας επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά μια επείγουσα επιδιόρθωση που κυκλοφόρησε στο παρελθόν.

Πληροφορίες αρχείου

Η καθολική έκδοση αυτής της επείγουσας επιδιόρθωσης εγκαθιστά αρχεία με χαρακτηριστικά που αναφέρονται στους παρακάτω πίνακες. Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία στον τοπικό υπολογιστή σας εμφανίζονται στην τοπική σας ώρα μαζί με την τρέχουσα πόλωση θερινής ώρας (DST). Επιπλέον, οι ημερομηνίες και οι ώρες ενδέχεται να αλλάξουν όταν εκτελείτε συγκεκριμένες λειτουργίες στα αρχεία.
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμερομηνίαΏραΠλατφόρμα
C2.dll15.0.30729.61472,283,84025-Φεβ-201101: 25x 86
C2.dll15.0.30729.61472,362,68825-Φεβ-201101: 25x 86
C2.dll15.0.30729.61472,493,24825-Φεβ-201101: 25x 86
C2.dll15.0.30729.61473,018,04825-Φεβ-201101: 25x 64
C2.dll15.0.30729.61477,263,04025-Φεβ-201101: 25IA-64
Link.exe9.0.30729.61471,055,56025-Φεβ-201101: 25x 64
Link.exe9.0.30729.61472,135,36825-Φεβ-201101: 25IA-64
Link.exe9.0.30729.6147800,58425-Φεβ-201101: 25x 86



Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το πρόβλημα, προετοιμάστε τοπικές μεταβλητές νωρίς στη συνάρτηση έτσι ώστε να γνωρίζετε της διάρκειας ζωής των μεταβλητών του μεταγλωττιστή.

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με την ορολογία ενημερωμένων εκδόσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
824684 Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft

Ιδιότητες

Αναγν. άρθρου: 2498381 - Τελευταία αναθεώρηση: Πέμπτη, 21 Απριλίου 2011 - Αναθεώρηση: 2.0
Λέξεις-κλειδιά: 
kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug kbmt KB2498381 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:2498381

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com