การแก้ไข: คุณได้รับการ "เพจไม่ถูกต้องบกพร่องในโมดูล MSVCRTDLL"เกิดข้อผิดพลาดหลังจากที่คุณติดตั้งไลบรารีรันไทม์จาก Visual c ++ 6.0

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 190536
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

หลังจากคุณติดตั้งไลบรารีรันไทม์ C (Msvcrt.dll) จาก Visual c ++ 6.0 บนคอมพิวเตอร์ของคุณ โปรแกรมประยุกต์ที่เคยรันได้อย่างถูกต้อง ล้มเหลวและข้อผิดพลาดโปรแกรมประยุกต์ที่คล้ายกับข้อความต่อไปนี้ปรากฏขึ้น:
<application name="">ทำให้เกิดข้อบกพร่องเพจไม่ถูกต้องใน โมดู MSVCRTDLL ที่ XXXX:XXXXXXXX</application>

สาเหตุ

สาเหตุหนึ่งที่เป็นไปได้ของข้อผิดพลาดนี้เป็นแอพลิเคชัน มีเขียนบล็อกของหน่วยความจำที่เป็นเจ้าของ โดยวัตถุที่เฉพาะเจาะจงที่ผ่านมา ที่ ตัวจัดการ heapmemory บล็อกขนาดเล็กที่มาพร้อมกับ Visual c ++ 6.0 ขณะใช้งาน ไลบรารีถึงโครงสร้างควบคุม heap ภายใน heap บล็อกขนาดเล็ก เขียนทับการบล็อกหน่วยความจำเปลี่ยนที่อยู่ของตัวชี้บล็อกเล็ก heap effecting ตัวชี้ที่ไม่ถูกต้อง และอาจมีข้อบกพร่องใน Msvcrt.dll เมื่อตัวชี้ การอ้างอิง

การแก้ไข

ผู้จำหน่ายโปรแกรมประยุกต์ที่จำเป็นเพื่อให้แน่ใจว่าโปรแกรมประยุกต์ของตน กำลังใช้เล็กบล็อก heap C ของขณะทำงานอย่างถูกต้อง

เมื่อต้องการช่วยเหลือ ลูกค้าที่พบปัญหานี้ในโปรแกรมประยุกต์ของบริษัทอื่น Microsoft ได้ออกแบบใหม่รันไทม์ C dynamic-link library (DLL), Msvcrt.dll ซึ่งประมวลผลผู้จัดการ heap สอง: ฮีป c ++ภาพรุ่น 5.0 เข้ากันได้ ผู้จัดการและผู้จัดการ heap 6.0 เข้ากันได้รุ่น c ++ Visual Msvcrt.dll ตรวจสอบเวอร์ชันของ c ++ Visual แอพลิเคชันของคุณขึ้นอยู่กับ และใช้ ตัวจัดการการฮีปที่เหมาะสมสำหรับโปรแกรมประยุกต์นั้น ถ้ารุ่น c ++ Visual 6.0 หรือมากกว่า ตัวจัดการการเข้ากันได้กับ 6.0 heap c ++ Visual ใช้ ถ้า มีเวอร์ชันที่เก่ากว่ารุ่น 6.0, heap เข้ากันได้กับ 5.0 c ++ที่มองเห็นได้ ใช้

ผู้ใช้ที่ visual Studio 6.0 สามารถเรียกใช้งานไฟล์ msvcrt.dll ผิดใหม่ด้วย การติดตั้ง Microsoft Visual Studio Service Pack ล่าสุด ถ้าคุณไม่ได้ใช้ โดยใช้ Visual Studio ติดตั้งการปรับปรุงไลบรารี Microsoft สำหรับการเพิ่มเติม รายละเอียด ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
197298การปรับปรุงไลบรารี Microsoft: อะไร ตำแหน่ง ทำไม

สถานะ

Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน"ใช้งาน"

จุดบกพร่องนี้ถูกแก้ไขใน Visual Studio 6.0 Service Pack 3สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Visual Studio เซอร์วิสแพ็ค คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
194022บริการ Studio 6.0 ภาพชุดรวม อะไร ตำแหน่ง ทำไม
194295วิธีการที่บอกให้ทราบว่า มีการติดตั้ง service pack ของ Visual Studio

ข้อมูลเพิ่มเติม

Heap บล็อกขนาดเล็กประกอบด้วยการปันส่วนที่มีน้อยกว่า K ที่ 1 ในขนาดที่ไม่ใช่ บักของธรรมชาตินี้อาจทำงานแตกต่างกันในรุ่นที่เก่ากว่า ไลบรารีรันไทม์ C เนื่องจากโครงสร้างของตัวควบคุมจะอยู่ในตัว ตำแหน่งในหน่วยความจำที่แตกต่างกัน และแยกต่างหาก มัก ชนิดเหล่านี้ในการเขียนโค้ดข้อผิดพลาด ทำให้ความเสียหายของบล็อกอื่นของหน่วยความจำ และอาจมีความเสียหาย ที่ ลำดับของเหตุการณ์ที่นำไปสู่การละเมิดการเข้าถึงจะแตกต่างกันเมื่อคุณใช้ ไลบรารีขณะใช้งาน Visual c ++ 6.0 C จริง

คุณสามารถควบคุมชนิดต่าง ๆ เหล่านี้ ของปัญหาโดยใช้ heap ตรวจแก้จุดบกพร่อง โปรดดูเอกสารประกอบที่ออนไลน์ มีชื่อว่า "Heap ตรวจแก้จุดบกพร่องโดยใช้" คุณจำเป็นต้องเปิดใช้งานฮีปตรวจแก้จุดบกพร่อง โดยโทรศัพท์ _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF |_CRTDBG_CHECK-_ALWAYS_DF) ในกระบวนการ การเตรียมใช้งานในการสร้างการตรวจแก้จุดบกพร่องของโปรแกรมประยุกต์ของคุณ

คุณสมบัติ

หมายเลขบทความ (Article ID): 190536 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 4.0
Keywords: 
kbhotfixserver kbqfe kberrmsg kbbug kbcrt kbfix kbvs600sp2fix kbvs600sp3fix kbmt KB190536 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ 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