FIX: 您收到 「 未處理例外狀況 」 錯誤訊息當您執行的應用程式使用有效的 C 程式碼

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:811672
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
一些有效的 C 程式碼可能會正確地,編譯,並接著可能無法正確執行。您在執行應用程式時您可能會收到下列錯誤訊息:
無法處理的例外狀況: System.InvalidProgramException:
發生的原因
這個問題被出在 JIT 最佳化。如果使用下列的陳述式關閉 JIT 最佳化應用程式的.ini 檔中將不會發生錯誤:
[.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0
解決方案
支援的 Hotfix 現在可以從 Microsoft,但它只用來修正本文所述的問題。僅適用於發生此特定問題的系統。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個的 Microsoft.NET Framework 1.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,洽詢 Microsoft 技術支援部以取得該 Hotfix。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

此 Hotfix 的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (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 軟體更新標準術語的說明

內容

文章識別碼:811672 - 最後檢閱時間:12/08/2015 01:49:27 - 修訂: 3.4

Microsoft .NET Framework 1.0

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbqfe kbfix kbbug KB811672 KbMtzh
意見反應