Παρουσιάζεται σφάλμα παραβίασης πρόσβασης όταν εκτελείτε μια εφαρμογή Visual C++ 2010 που έχει δημιουργηθεί για την πλατφόρμα x 64, εάν είναι ενεργοποιημένη η επιλογή μεταγλωττιστή βελτιστοποίησης

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

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

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Μπορείτε να δημιουργήσετε ένα έργο της Microsoft Visual C++ 2010.
  • Μπορείτε να χρησιμοποιήσετε μια συνάρτηση που επιστρέφει μια τοπική μεταβλητή που είναι μεγαλύτερο από 64 byte.
  • Μπορείτε να ενεργοποιήσετε μια επιλογή μεταγλωττιστή βελτιστοποίηση για το έργο. Για παράδειγμα, ενεργοποιείτε τοΜεγιστοποίηση της ταχύτητας (/ O2)η επιλογή μεταγλωττιστή βελτιστοποίησης.
  • Μπορείτε να δημιουργήσετε το έργο για την πλατφόρμα x 64, χρησιμοποιώντας το Microsoft Visual Studio 2010 και, στη συνέχεια, προσπαθείτε να εκτελέσετε την εφαρμογή που έχει δημιουργηθεί.
Σε αυτό το σενάριο, παρουσιάζεται ένα σφάλμα παραβίασης πρόσβασης και διακόπτεται η λειτουργία της εφαρμογής του.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ο κώδικας που δημιουργούνται από το πρόγραμμα μεταγλώττισης καλεί μια οδηγία που απαιτεί ένα buffer δεδομένων σε μπλοκ 16-byte. Για παράδειγμα, καλεί τον κωδικό ενόςMOVAPDήMOVDQAοδηγία. Ωστόσο, το buffer δεδομένων μπορεί να είναι μη στοιχισμένη. Επομένως, μια παραβίαση πρόσβασης παρουσιάζεται όταν η εφαρμογή χρησιμοποιεί αυτήν την οδηγία να προσπαθήσει να γράψει μια βελτιστοποιημένη τοπική μεταβλητή σε μια μη στοιχισμένη δεδομένων buffer.

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

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

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

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

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

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

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

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

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

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

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

Η αγγλική έκδοση αυτής της επείγουσας επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία περιλαμβάνονται στην Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλετε τις πληροφορίες του αρχείου, τη μετατροπή σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε τηνΖώνη ώραςστο τοΗμερομηνία και ώρατο στοιχείο του πίνακα ελέγχου.
Για όλες τις υποστηριζόμενες εκδόσεις του ομάδας υποδομής Server 2008
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Όνομα αρχείουΈκδοση του αρχείουΜέγεθος αρχείουΗμερομηνίαΧρόνοςΠλατφόρμα
C2.dll16.0.30319.4132,508,09601-Ιαν-201102: 33x 86
C2.dll16.0.30319.4132,627,39201-Ιαν-201102: 33x 86
C2.dll16.0.30319.4132,975,55201-Ιαν-201102: 33x 64

Κατάσταση

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

Ιδιότητες

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

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

 

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