Comment voir les détails des exceptions gérées dans WinDBG?
-
08-07-2019 - |
Question
Le compilateur VS2005 C # se bloque pendant le processus de construction nocturne de notre équipe. J'y attache avec WinDBG, charge les extensions SOS, imprime la pile d'appels, mais ne peut pas voir les informations sur les exceptions.
J'ai essayé! PrintException, comme suit:
0:000> !PrintException There is no current managed exception on this thread
Voici le haut de la pile d'appels:
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()
La solution
La raison pour laquelle vous ne voyez pas d'exception est que le compilateur C # n'est pas écrit en code managé. C'est un projet C ++ et par conséquent, ne lève pas une exception CLR. Vous devez plutôt rechercher une erreur native.
Autres conseils
Je l'ai! Il suffisait de sauvegarder un fichier de vidage (* .dmp) à partir de WinDBG et de le rouvrir dans Visual Studio.
Pour une solution complète, regardez ma question précédente