2010-04-12 13 views
7

Mam plik wykonywalny .NET, który muszę debugować. Chciałbym wkroczyć w to, aby zatrzymać się na pierwszej instrukcji i mieć interfejs wizualny dla pojedynczego kroku, punktów przerwania itp.Jak mogę debugować plik wykonywalny .NET na poziomie MSIL?

Wydaje się, że powinno być łatwiej, ale jeszcze nie znalazłem rozwiązania! Czytałem o Internecie w Internecie pod adresem DbgCLR.exe, ale nie mogę znaleźć tego pliku w moim systemie lub w Internecie przez całe życie. Czytałem również gdzieś, że DbgCLR.exe nie jest już konieczne, ponieważ Visual Studio może zrobić to samo. Rozwiązanie Visual Studio .NET również byłoby świetne! (Może to pozycja menu, które przeoczyłem?)

czy będzie pasować, tak długo, jak mogę sprawdzić stosu, ustawić punkty przerwania itp

+0

Dobre pytanie. Użyłem NTSD lat temu do debugowania kodu MSIL JIT. To była prawdziwa radość ... Sprawdź http://www.microsoft.com/whdc/devtools/debugging/ i daj mi znać, czy jest teraz coś wyższego. –

+0

Jeśli masz symbole i źródła, możesz użyć usługi VS do dołączenia do procesu i określić, czy chcesz zarządzać debugowaniem w oknie dialogowym dołączania. –

Odpowiedz

1

Jeśli ktoś kupuje narzędzia - nowy reflektor z technologią Red Gate .NET Reflector Pro robi dokładnie to samo (195 USD). Wydaje mi się, że możesz uzyskać wersję testową, która trwa przez jakiś czas na Red Gate's site

W przeszłości używałem DILE, aby to zrobić w IL, z jakiegoś powodu miałem mieszane doświadczenia z Deblectorem.

Prawdopodobnie nie warto poświęcić czasu, ale można również utworzyć symbole pdb dla exe, ale jeśli zespół ma wiele odniesień, komplikuje się. Kilka lat temu umieściłem wpis na blogu: Disassembling .NET - Appendix A

0

Możesz przekonwertować plik wykonywalny na csharp (vb.net).
Istnieje dobre i bezpłatne narzędzie .Ned Reflector.

1

WinDbg może być używany, ponieważ zatrzymuje się automatycznie po zainicjowaniu procesu. Jednak wyświetla tylko natywne rzeczy, chyba że korzystasz z SOS.dll i zarządzanych umiejętności debugowania. Ma więc ostrą krzywą uczenia się.

Powiązane problemy