2009-09-14 51 views
29

Si tenta di utilizzare il file winDBG per eseguire il debug di un file di dettagli. Quando corro .loadby sos mscorwks.dllImpossibile trovare il modulo "mscorwks.dll"

Mi ha dato un messaggio di errore. Impossibile trovare il modulo "mscorwks.dll"

Qualcuno ha visto questo prima?

risposta

12

Non aggiungere il dll, provare solo .loadby sos mscorwks

+2

Questo messaggio di errore è ancora impossibile Impossibile trovare il modulo "mscorwks.dll" per me – MaxJ

+0

Questo messaggio restituisce ancora Impossibile trovare il modulo "mscorwks.dll" per me – burzhuy

2

Se avete la directory di .NET framework (ad esempio C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727) nel percorso, è possibile basta usare

.load sos 
18

Ho avuto anche questo problema e si è scoperto perché il debugger stava entrando nell'app prima che il CLR fosse caricato. Ho dovuto lasciare che l'app passasse oltre prima che potessi fare qualsiasi cosa.

Fare questo in WinDbg potrebbe aiutare:

sxe ld:mscorlib 
g 
(... breaks again ...) 
.loadby sos mscorwks 

Il 'ld sxe: ..' ferma sul carico del modulo.

Come cita Sixto, se si esegue il debug dotnet 4 applicazioni è necessario sostituire l'ultima linea con

.loadby sos clr 
+0

Sì, questo era il mio problema. Si è rotto troppo presto. Non ho dovuto caricare mscorlib da solo, ho solo lasciato che l'applicazione andasse un po 'oltre (fino a quando non ha colpito 'Console.ReadLine()', scrivendo 'g' prima di' .loadby sos mscorwks'. –

107

Se si esegue il debug di un'applicazione .NET 4.0, è necessario utilizzare il seguente invece di mscorwks:

.loadby sos clr

Here is a good overview dei comandi disponibili per NET 4.0. Godere!!

+11

+1 - Non il rispondere a questa domanda, ma ha reso la mia giornata. –

3

Assicurati inoltre di avere un bitness corretto, provando a farlo in un windbg a 64 bit mentre il debug dell'applicazione a 32 bit ti darà lo stesso errore.

Problemi correlati