#debugging #visual-studio-2019 #decompiling
#отладка #visual-studio-2019 #декомпиляция
Вопрос:
Мы потеряли часть исходного кода, поэтому я использовал Telerek’s Just Decompile для декомпиляции dll и создания проекта C # в Visual Studio. Я изменил проект, который ссылался на dll, и вместо этого ссылался на новый декомпилированный проект, который я добавил в решение.
Когда я приступил к отладке своего проекта, я ожидал, что смогу перейти к декомпилированному коду. Вместо этого он перешагнул через строку кода, в которую я ожидал, что начнется отладка.
Я обнаружил, что если я изменил свои параметры отладки и снял флажок с параметра «Отлаживать только мой код», а затем выбрал Debug => Windows => Modules и загрузил символы отладки для декомпилированного проекта, я мог бы перейти к коду декомпилированного проекта, но у меня не было обычных возможностей отладки, таких каквозможность отображения значений переменных намного меньше возможности изменять код и продолжать.
Я ожидал, что смогу отладить декомпилированный проект в обычном режиме. Я мог бы попытаться создать совершенно новый проект и скопировать в него каждый файл кода по одному, чтобы посмотреть, смогу ли я реконструировать совершенно новый проект вручную, но это было бы долго и утомительно.
Есть мысли о том, что мне нужно сделать с моим декомпилированным проектом, чтобы иметь возможность создать проект, который я могу отлаживать как обычный проект?
Комментарии:
1. При создании вашего декомпилированного проекта был ли сгенерированный
pdb
файл и файл pdb скопирован в основную выходную папку проекта? Если это так, пожалуйста, добавьте его путь вTools
—>Options
—>Debugging
—>Symbols
.2. Спасибо за ваш ответ. Да, он сгенерировал файл pdb, но добавление пути debug bin в список путей символов не имело никакого эффекта.
3. попробуйте сбросить настройки vs с помощью
Tools
—>Import and Export settings
—>Reset all settings
. Затем удалите.vs
скрытую папкуbin
иobj
папку. Не уверен, является ли это проблемой вашего декомпилированного проекта. Чтобы устранить неполадки, создайте новый проект vs и перенесите в него старый, чтобы проверить, работает ли он.