WinDBGで管理された例外の詳細を表示する方法は?
-
08-07-2019 - |
質問
VS2005 C#コンパイラは、チームの夜間ビルドプロセス中にクラッシュします。 WinDBGで接続し、SOS拡張機能をロードし、コールスタックを印刷しますが、例外情報は表示できません。
次のように!PrintExceptionを試しました:
0:000> !PrintException There is no current managed exception on this thread
コールスタックのトップは次のとおりです。
0:000> !CLRStack OS Thread Id: 0x9fc (0) ESP EIP 0012ee08 77e4bef7 [ComPlusMethodFrameGeneric: 0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile() 0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute() 0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask.Execute()
解決
例外が表示されないのは、C#コンパイラがマネージコードで記述されていないためです。 C ++プロジェクトであるため、CLR例外はスローされません。代わりにネイティブエラーを探す必要があります。
他のヒント
わかりました!行う必要があるのは、WinDBGからダンプ(* .dmp)ファイルを保存し、Visual Studioで再度開くことだけです。
完全なソリューションについては、 私の前の質問
所属していません StackOverflow