Come visualizzare i dettagli delle eccezioni gestite in WinDBG?
-
08-07-2019 - |
Domanda
VS2005 C # Il compilatore si arresta in modo anomalo durante il processo di build notturno del nostro team. Vi allego con WinDBG, carico le estensioni SOS, stampa il callstack, ma non riesco a vedere le informazioni sull'eccezione.
Ho provato! PrintException, come segue:
0:000> !PrintException There is no current managed exception on this thread
Ecco la parte superiore del callstack:
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()
Soluzione
Il motivo per cui non vedi un'eccezione è che il compilatore C # non è scritto nel codice gestito. È un progetto C ++ e quindi non genererà un'eccezione CLR. Devi invece cercare un errore nativo.
Altri suggerimenti
Ho capito! Tutto ciò che doveva essere fatto era salvare un file di dump (* .dmp) da WinDBG e riaprirlo in Visual Studio.
Per una soluzione completa, guarda la mia domanda precedente