Мне часто нужно отлаживать двоичные файлы .NET на тестовых машинах (под тестовой машиной я имею в виду, что на машине не установлена Visual Studio, она часто переизображается, это не та машина, на которой я занимаюсь разработкой, так далее).
Мне нравится отладчик Visual Studio, но для меня непрактично устанавливать визуальные студии на свежеприготовленную тестовую машину только для отладки утверждения или сбоя (установка занимает слишком много времени, занимаемая площадь слишком велика и т. д.).
Мне бы очень хотелось быстро установить программу, которая могла бы вмешаться в работающий процесс, позволить мне указать расположение символов / исходного кода и позволить мне сразу перейти к отладке. Для нативных двоичных файлов windbg отлично работает, но я не нашел ничего похожего для управляемых двоичных файлов. Какие-нибудь рекомендации?
(в качестве примечания, я знаю о возможностях удаленной отладки визуальных студий, но по какой-то причине мне кажется, что это никогда не работает стабильно ... у меня часто возникают проблемы с подключением)





Всегда есть mdbg и шнур, но я бы посоветовал подробнее разобраться, почему удаленная отладка не работает последовательно.
VS2005 / 8 здесь кажется намного более надежным, чем предыдущие версии (хотя я в основном использую неуправляемые), и это избавляет вас от необходимости иметь доступ к символам на целевой машине.
Вы можете проверить MDbg: http://blogs.msdn.com/jmstall/archive/2006/11/22/mdbg-sample-2-1.aspx. Похоже, что он поставляется как минимум с .NET 3.5 SDK (и, вероятно, он включен в 2.0+).
Windbg имеет управляемые расширения (я считаю, называемые SOS), хотя я не знаю, позволяют ли они отладку на уровне исходного кода.
Для более приятного интерфейса, чем MDbg или cordbg, обратите внимание на DbgCLR - урезанную версию отладчика Visual Studio (по крайней мере, он выглядит так), который обрабатывает только управляемый код. Он поставляется с .NET Framework (я не уверен, находится ли он во время выполнения или вам нужен Framework SDK):
Обратите внимание, что cordbg устарел в пользу MDbg (хотя MDbg не имеет всех функций cordbg):
И, оглядываясь на MDbg при написании этого поста, я обнаружил, что для MDbg доступна оболочка GUI (которую я не пробовал):
Обновление: образец MDBG 4.0 был выпущен для microsoft.com/downloads/en/… Спасибо, Аарон
Я наконец нашел расширения для Windbg, которые делают именно то, что я хотел: Sosex.dll, позволяет мне использовать windbg для отладки управляемых приложений с минимальной установкой. Я использую его более года, и он работал без ошибок для всех сценариев отладки, с которыми я сталкивался.
Вы пробовали использовать Взломанный .NET?
Это инструмент для отладки и создания сценариев во время выполнения, который дает вам доступ к внутренним компонентам любого настольного приложения .NET, работающего на вашем компьютере.
Версия 2 ILSpy содержит отладчик. И работает потрясающе!
Он все еще находится на очень ранней стадии, но несколько раз помогал мне.
Только берегитесь ошибок! :)
У меня есть версия ILSpy 2.4.0.1963, и я не могу найти никаких подсказок о том, как на самом деле использовать отладчик, о котором вы говорите. Ни исполняемого файла отладчика в папке ILSpy, ни щелчка правой кнопкой мыши в дереве, ничего. Подскажите, пожалуйста?
Может быть, вы можете попробовать использовать Live Tuning в сочетании с Сервер Ocf?
Сам по себе это не отладчик, но довольно легко установить соединение между приложением и Live Tuning. Буквально 3 строчки кода. Тогда у вас будет доступ ко всем переменным, которые вы выберете для публикации.
Я нашел это полезным при отладке моих программ без доступа к декомпилированному коду или настоящему отладчику. На самом деле у вас не может быть точек останова, но оказывается, что иногда есть более эффективные способы отладки.
Используйте dnSpy.
dnSpy - это отладчик и редактор сборки .NET. Вы можете использовать его для редактирования и отладки сборок, даже если у вас нет исходного кода.
Это так замечательно. Очень маленький и легкий. Не требует установки или настройки. Его интерфейс точно такой же, как у Visual Studio. Даже его ярлыки такие же, как VS.
Функции:
Это супер классный отладчик. Спасибо за вашу помощь.
Но DnSpy очень тяжелый и всегда требует новейшей среды выполнения (а разработчик всегда удаляет старую версию выпуска).
Нет, нет: blogs.msdn.com/b/andypennell/archive/2005/02/21/…