2010-04-12 12 views
7

Ho un file eseguibile .NET che ho bisogno di eseguire il debug. Vorrei intervenire in modo che si fermi sulla prima istruzione e abbia un'interfaccia visuale per single-stepping, breakpoint, ecc.Come si esegue il debug di un eseguibile .NET a livello di MSIL?

Sembra che dovrebbe essere più semplice ma non ho ancora trovato una soluzione! Ho letto su DbgCLR.exe sul web ma non riesco a trovare quel file sul mio sistema o online per la vita di me. Ho anche letto da qualche parte che DbgCLR.exe non è più necessario perché Visual Studio può fare la stessa cosa. Anche una soluzione di Visual Studio .NET sarebbe fantastica! (Forse c'è una voce di menu che ho trascurato?)

In entrambi si adatta, quindi il tempo che posso controllare la pila, impostare punti di interruzione, ecc

+0

Buona domanda. Ho usato NTSD anni fa per il debug del codice MSIL JIT-ed. E 'stata una vera gioia ... Scopri http://www.microsoft.com/whdc/devtools/debugging/ e fammi sapere se c'è qualcosa di più alto livello disponibile. –

+0

Se si dispone di simboli e le fonti, è possibile utilizzare VS per connettersi al processo e specificare che si desidera debug gestito nella finestra di allegare. –

risposta

1

Se si è in grado di acquistare utility, il nuovo .NET Reflector Pro di Red Gate fa proprio bene la situazione ($ 195). Penso che tu possa ottenere una versione di prova che duri per un po 'su Red Gate's site

Ho usato DILE in passato per farlo in IL, per qualche motivo ho avuto esperienze miste con Deblector.

Probabilmente non vale il tuo tempo ma puoi anche creare simboli pdb per un exe ma se l'assembly ha un sacco di riferimenti diventa complicato. Ho inserito un post sul blog alcuni anni fa su come farlo: Disassembling .NET - Appendix A

0

È possibile convertire l'eseguibile in csharp (vb.net).
C'è uno strumento buono e gratuito, Riflettore. Ned.

1

WinDbg può essere utilizzato come si ferma automaticamente quando il processo avviato. Tuttavia, visualizza solo le cose native a meno che non si utilizzi SOS.dll e le capacità di debug gestite. Così ha una curva di apprendimento tagliente.

Problemi correlati