2014-09-19 8 views
0

Lorsque je tente d'utiliser windbg.loadby fonctionne pas, mais .load fonctionne bien

.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll 

fonctionne parfaitement pour charger l'extension SOS.

Mais quand j'ai essayé de le modèle utilisé suggéré

.loadby SOS 

OU

.loadby sos.dll 

Je ne pouvais reçu un message d'erreur « Erreur de syntaxe dans la chaîne d'extension ».

J'ai essayé de googler ce message d'erreur, mais rien d'utile trouvé.

Des suggestions?

Répondre

5

.loadby nécessite un autre argument pour définir où by est. De WinDbg aide:

.loadby DLLName ModuleName 

DLLName
Indique la DLL d'extension du débogueur pour charger. Si vous utilisez la commande .load, DLLName doit inclure le chemin d'accès complet. Si vous utilisez la commande .loadby, DLLName doit inclure uniquement le nom de fichier.

ModuleName
Indique le nom du module d'un module qui se trouve dans le même répertoire que la DLL d'extension qui spécifie DLLName.

Donc, essayez

.loadby sos mscorwks ; *** .NET 2 
.loadby sos clr ; *** .NET 4 
.loadby sos coreclr; *** Silverlight 

Notez que dans certains cas, il peut être impossible .loadby de trouver le chemin complet du module by, par exemple si la sauvegarde a été créée sans les noms de chemin complets (.dump /maR). Dans ce cas, vous devez retourner à .load.

+1

Inclus dans la réponse, même en ajoutant Silverlight –

+0

lorsque j'essaie d'exécuter ".loadby sos clr", voici ce que j'ai obtenu: L'appel à LoadLibrary (C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ sos) a échoué, l'erreur Win32 0n193 "% 1 n'est pas une application Win32 valide." Veuillez vérifier la configuration de votre débogueur et/ou l'accès au réseau. –

+1

Assurez-vous que vous utilisez la même version de WinDbg que votre application. Les deux devraient correspondre. Donc, si votre application est 64 bits, utilisez la version 64 bits de WinDbg. Ou si c'est 32 bits, utilisez la version 32 bits de WinDbg. – Dono

Questions connexes