การแก้ไข: คุณได้รับข้อผิดพลาด "ข้อยกเว้น Unhandled" เมื่อคุณเรียกใช้โปรแกรมประยุกต์ที่ใช้รหัส C ที่ถูกต้อง

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 811672 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

รหัส C บางอย่างถูกต้องอาจคอมไพล์อย่างถูกต้อง และจากนั้น อาจไม่ทำงานอย่างถูกต้อง เมื่อคุณเรียกใช้โปรแกรมประยุกต์ คุณอาจได้รับข้อความแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้:
unhandled ข้อยกเว้น: System.InvalidProgramException:

สาเหตุ

ปัญหานี้เกี่ยวข้องกับการ JIT Optimization ถ้าคุณใช้คำสั่งต่อไปนี้เพื่อปิดใช้งาน Optimization JIT ในแฟ้ม.ini สำหรับโปรแกรมประยุกต์ ข้อผิดพลาดไม่เกิดขึ้น:
[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0

การแก้ไข

สามารถโหลด hotfix ได้แล้วจาก Microsoft แต่มุ่งหวังให้ใช้เพื่อแก้ปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้ hotfix นี้เฉพาะกับระบบต่างๆ ที่พบปัญหานี้เท่านั้น hotfix นี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับอย่างจากจากปัญหานี้ เราขอแนะนำให้ คุณรอ service pack รุ่นถัดไปของ Microsoft .NET Framework 1.0 ซึ่งประกอบด้วยโปรแกรมแก้ไขด่วนนี้

การแก้ปัญหานี้ทันที ให้ติดต่อ Microsoft Product Support Services เพื่อรับ hotfix สำหรับรายชื่อทั้งหมดของหมายเลขโทรศัพท์ของ Microsoft Product Support Services และข้อมูลเกี่ยวกับค่าใช้จ่ายในการให้คำปรึกษา แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft::
http://support.microsoft.com/contactus/?ws=support
หมายเหตุ:ในกรณีพิเศษ อาจมีการยกเว้นค่าใช้จ่ายสำหรับการสนับสนุนทางโทรศัพท์หากผู้เชี่ยวชาญในการให้การสนับสนุนของ Microsoft ระบุว่าการปรับปรุงเฉพาะจะแก้ปัญหาของคุณได้ ค่าใช้จ่ายปกติจะใช้กับการให้การสนับสนุนสำหรับคำตอบเพิ่มเติมและเรื่องที่ไม่สามารถจัดเป็นคำถามเกี่ยวกับการอัพเดทเฉพาะ

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มหลังจากนั้น) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในเครื่องมือ'วันและเวลา'ใน'แผงควบคุม'
   Date         Time   Version       Size       File name
   ---------------------------------------------------------
   14-Dec-2002  01:54  1.0.3705.387    303,104  Mscorjit.dll
   14-Dec-2002  12:51  1.0.3705.387  1,953,792  Mscorlib.dll
   14-Dec-2002  01:54  1.0.3705.387  2,269,184  Mscorsvr.dll
   14-Dec-2002  01:55  1.0.3705.387  2,269,184  Mscorwks.dll

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

ขั้นตอนในการทำให้สถานการณ์เกิดขึ้นอีกครั้ง

  1. การคอมไพล์อย่างต่อไปนี้รหัส C ใช้แบบ/clrสลับไป
    main()
    {
    	int i;
    	int *j=i;
    	*j = *j % (int)0x80000000;
    }
  2. เรียกใช้โปรแกรมประยุกต์ คุณได้รับข้อความแสดงข้อผิดพลาด

    หมายเหตุ:ถ้าคุณไม่ได้ใช้การ/clrสวิตช์ โปรแกรมประยุกต์ที่รันอย่างถูกต้อง และคุณไม่ได้รับข้อความข้อผิดพลาด
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ที่ใช้เพื่ออธิบายการปรับปรุงผลิตภัณฑ์ของ Microsoft คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

คุณสมบัติ

หมายเลขบทความ (Article ID): 811672 - รีวิวครั้งสุดท้าย: 17 ตุลาคม 2553 - Revision: 1.0
ใช้กับ
  • Microsoft .NET Framework 1.0
Keywords: 
kbhotfixserver kbqfe kbnetframe100presp3fix kbfix kbbug kbmt KB811672 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:811672

ให้ข้อเสนอแนะ

 

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