ΕΠΙΔΙΌΡΘΩΣΗ: Λάβετε "σφάλμα μη έγκυρης σελίδας στη λειτουργική μονάδα MSVCRT.DLL"μήνυμα λάθους μετά την εγκατάσταση των βιβλιοθηκών χρόνου εκτέλεσης από Visual C++ 6.0

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

Συμπτώματα

Μετά την εγκατάσταση των βιβλιοθηκών χρόνου εκτέλεσης C (Msvcrt.dll) από Visual C++ 6.0 στον υπολογιστή σας, οι εφαρμογές που προηγουμένως λειτουργούσε σωστά Αποτυχία και παρόμοιο με το ακόλουθο σφάλμα εφαρμογής εμφανίζεται:
<application name="">προκάλεσε σφάλμα μη έγκυρης σελίδας σε λειτουργική μονάδα MSVCRT.DLL στο XXXX:XXXXXXXX.<b00></b00></application>

Αιτία

Μια πιθανή αιτία αυτού του σφάλματος είναι ότι η εφαρμογή έχει γραφτεί πέρα από το μπλοκ μνήμης που ανήκει σε ένα συγκεκριμένο αντικείμενο. Το Διαχείριση heapmemory μικρό μπλοκ που συνοδεύει το χρόνου εκτέλεσης Visual C++ 6.0 βιβλιοθήκες ενσωματώνει σωρού δομές ελέγχου εντός του σωρού μικρό μπλοκ. Αντικατάσταση μπλοκ μνήμης αλλάζει σωρού μικρό μπλοκ διευθύνσεων δείκτη, κινεί εσφαλμένο δείκτη και πιθανώς βλάβη Msvcrt.dll όταν ο δείκτης είναι αναφορά.

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

Προμηθευτές εφαρμογών πρέπει να εξασφαλίζεται ότι εφαρμογές τους χρησιμοποιείτε το c heap μικρό μπλοκ εκτέλεσης σωστά.

Για να σας βοηθήσει Οι πελάτες που αντιμετωπίζουν το ζήτημα στις εφαρμογές τρίτων κατασκευαστών τους, Η Microsoft έχει κυκλοφορήσει μια νέα χρόνου εκτέλεσης c βιβλιοθήκη δυναμικής σύνδεσης (DLL) Msvcrt.dll, που υλοποιεί δύο διαχειρίσεις σωρού: το Visual C++ έκδοση 5.0 συμβατό σωρού η διαχείριση και η Διαχείριση σωρού 6.0 συμβατή έκδοση Visual C++. Msvcrt.dll εντοπίζει την έκδοση του Visual C++ είναι κατασκευασμένος με την εφαρμογή σας και χρησιμοποιεί η Διαχείριση σωρού κατάλληλο για αυτήν την εφαρμογή. Εάν η έκδοση είναι Visual C++ 6.0 ή μεγαλύτερη, χρησιμοποιείται η Διαχείριση σωρού 6.0 συμβατό Visual C++. Αν υπάρχει ήδη ο φάκελος έκδοση είναι παλαιότερη από την έκδοση 6.0, το heap 5.0 συμβατό Visual C++ χρησιμοποιείται.

Visual Studio 6.0 χρήστες να λάβετε νέο αρχείου Msvcrt.dll εγκατάσταση του τελευταίου Microsoft Visual Studio Service Pack. Εάν δεν είστε χρήση του Visual Studio, εγκαταστήστε το Microsoft Update βιβλιοθήκες Για πρόσθετες πληροφορίες, ανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
197298 Βιβλιοθήκες του Microsoft update: τι, όπου, γιατί

Κατάσταση

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

Αυτό το σφάλμα διορθώθηκε στο Visual Studio 6.0 Service Pack 3.Για περισσότερες πληροφορίες σχετικά με τα service pack του Visual Studio, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
194022Visual Studio 6.0 service pack, τι, όπου, γιατί
194295 Πώς θα καταλάβετε ότι είναι εγκατεστημένο ένα service pack του Visual Studio

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

Οι εκχωρήσεις που είναι μικρότερα αποτελείται από σωρού μικρό μπλοκ από 1 K μέγεθος. Σφάλματα αυτού του είδους ενδέχεται να συμπεριφέρονται διαφορετικά σε παλαιότερες εκδόσεις από τη βιβλιοθήκη χρόνου εκτέλεσης c επειδή δομές ελέγχου βρίσκονται σε ένα διαφορετική και ξεχωριστή θέση στη μνήμη. Συχνά, αυτούς τους τύπους κωδικοποίησης σφάλματα έχει ως αποτέλεσμα την καταστροφή άλλο μπλοκ μνήμης και ενδεχομένως μια διακοπή λειτουργίας. Το ακολουθία συμβάντων που οδηγούν σε μια παραβίαση πρόσβασης είναι διαφορετικές όταν χρησιμοποιείτε βιβλιοθήκες χρόνου εκτέλεσης Visual C++ 6.0 C.

Μπορείτε να ελέγξετε αυτούς τους τύπους προβλήματα με τη χρήση του σωρού εντοπισμού σφαλμάτων. Ανατρέξτε στην ηλεκτρονική τεκμηρίωση με τίτλο "Χρήση σωρού εντοπισμού σφαλμάτων". Πρέπει να ενεργοποιήσετε το heap debug καλώντας _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF |_CRTDBG_CHECK-_ALWAYS_DF) στη διαδικασία Προετοιμασία σε μια κατασκευή εντοπισμού σφαλμάτων της εφαρμογής σας.

Ιδιότητες

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

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

 

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