4

VS2005 C#コンパイラは、チームの夜間のビルドプロセス中にクラッシュします。WinDBGを使用して接続し、SOS拡張機能をロードし、コールスタックを印刷しますが、例外情報が表示されません。

次のように!PrintExceptionを試しました。

    0:000>!PrintException
    このスレッドには現在管理されている例外はありません

コールスタックの先頭は次のとおりです。

    0:000>!CLRStack
    OSスレッドID:0x9fc(0)
    ESPEIP     
    0012ee08 77e4bef7 [ComPlusMethodFrameGeneric:0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile()
    0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute()
    0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask​​.Execute()
4

2 に答える 2

6

例外が表示されない理由は、C#コンパイラがマネージコードで記述されていないためです。これはC++プロジェクトであるため、CLR例外をスローしません。代わりに、ネイティブエラーを探す必要があります。

于 2009-05-07T19:21:48.180 に答える
2

わかった!必要な作業は、WinDBG からダンプ (*.dmp) ファイルを保存し、Visual Studio で再度開くことだけでした。

完全な解決策については、 私の前の質問を見てください

于 2009-05-07T20:47:32.170 に答える