Как отладить исполняемый файл .NET на уровне MSIL? - PullRequest
7 голосов
/ 12 апреля 2010

У меня есть исполняемый файл .NET, который мне нужно отладить. Я хотел бы войти в него, чтобы он останавливался на первой инструкции и имел визуальный интерфейс для пошаговых операций, точек останова и т. Д.

Кажется, это должно быть проще, но я еще не нашел решения! Я прочитал о DbgCLR.exe в Интернете, но не могу найти этот файл ни в своей системе, ни в сети. Я также где-то читал, что DbgCLR.exe больше не нужен, потому что Visual Studio может делать то же самое. Решение Visual Studio .NET тоже было бы здорово! (Может быть, есть пункт меню, который я пропустил?)

Любой из них подойдет, если я могу проверять стек, устанавливать точки останова и т. Д.

Ответы [ 4 ]

1 голос
/ 13 апреля 2010

Можно использовать WinDbg, так как он автоматически останавливается при запуске процесса. Тем не менее, он отображает только нативные вещи, если вы не используете SOS.dll и навыки отладки. Таким образом, он имеет четкую кривую обучения.

1 голос
/ 13 апреля 2010

Если вы один из тех, кто покупает утилиты - новый .NET Reflector Pro от Red Gate отлично справляется с этой задачей ($ 195). Я думаю, что вы можете получить ознакомительную версию, которая продлится некоторое время на сайте Red Gate

Я использовал DILE в прошлом, чтобы сделать это в IL, по некоторым причинам у меня был смешанный опыт с Deblector.

Возможно, не стоит вашего времени, но вы также можете создавать символы pdb для exe, но если сборка имеет много ссылок, это усложняется. Несколько лет назад я собрал сообщение в блоге о том, как это сделать: Разборка .NET - Приложение A

0 голосов
/ 13 апреля 2010

Вы можете конвертировать исполняемый файл в csharp (vb.net).
Есть хороший и бесплатный инструмент .Ned Reflector.

0 голосов
/ 12 апреля 2010

Деблектор позволяет выполнять одноступенчатый IL через отражатель.

...