DotPeek Проблема Отладка стороннего.dll
Я использую dotPeek v1.2
с VS2013 Update 3
попытаться отладить ссылочный код C# .dll. Я следовал всем указаниям из следующего урока: Использование dotPeek в качестве сервера символов (http://localhost:33417/
устанавливается как местоположение символа и т. д.) Честно говоря, я прочитал кучу статей, подобных этой и этой, прочесал все необходимые настройки и действительно не видел ни одного рабочего решения отладки стороннего не-фреймворка. dll, так что я не уверен, что это полностью рабочий продукт с этой точки зрения.
Regardelss, dotPeek должен разрешать, когда сервер символов запускается и отлаживать код из сторонних сборок из VSNET в соответствии с их документацией. Я знаю, какие.dll выбрать для dotPeek, потому что я проверил их путь в Debug -> Windows -> Modules.
У меня случается ReSharper
также установлен, что позволяет мне декомпилировать, когда я щелкаю правой кнопкой мыши строку кода и выбираю "Перейти к объявлению". Проблема в том, что сервер символов ничего не делает для обслуживания кода во время отладки. Скорее всего, декомпилированный источник, предоставленный ReSharper, является тем, к чему VS.NET стремится подключиться. Проблема в том, что я всегда получаю следующую ошибку:
Исходный файл: C:\Users\username\AppData\Local\JetBrains\ReSharper\v8.2\SolutionCaches_ReSharper.Meijer.Ecommerce.Nav.WebAppServices.-382002776\ Декомпилятор \ декомпилятор \53\66e7ccc2\MyClass.cs
Модуль: C:\Projects\MyProject\bin\Debug
Процесс: [24808] vstest.executionengine.x86.exe
Исходный файл отличается от того, когда модуль был собран. Хотели бы вы, чтобы отладчик использовал его?
Если я скажу "да" и шаг в отладчике окажется в строках, которые не существуют в файле и не синхронизированы. Это имеет смысл, так как показывает .cs
класс из местоположения "Исходный файл", но DLL-файл загружен из /bin/Debug
Тем не менее, я не понимаю, почему это происходит в любом случае, так как dotPeek
должен обслуживать загруженные символы из /bin/Debug
и не пытаться зайти в какой-либо декомпилированный источник ReSharper
представил.
Как мне настроить это так VS2103
будет фактически отлаживать символы и код, обслуживаемый из dotPeek
?
1 ответ
Одна большая проблема заключается в том, что вам нужно убедиться, что у вас есть правильный путь к каталогу кэша на странице Инструменты -> Параметры -> Отладка -> Символы.
Кроме того, на главной странице параметров отладки (Инструменты -> Параметры -> Отладка -> Общие) убедитесь, что вы:
- Снимите флажок "Включить только мой код"
- Снимите флажок "Включить пошаговое выполнение.NET Framework"
- Установите флажок "Включить поддержку исходного сервера"
- Снимите флажок "Требовать исходные файлы, чтобы точно соответствовать оригинальной версии
Стоит также проверить параметр "Печать диагностических сообщений исходного сервера в окно вывода" и проверить окно вывода при попытке перейти к стороннему коду. Надеюсь, следует указать на любые вопросы.
Вот как у меня все настроено, и я могу отлаживать сторонние dll (очевидно, dotPeek должен загрузить DLL в обозревателе сборок, прежде чем вы начнете отладку тоже).