Можете ли вы отладить приложение .NET, используя ТОЛЬКО исходный код одного файла? - PullRequest
1 голос
/ 20 сентября 2008

Я хочу отладить приложение в Visual Studio, но у меня есть ТОЛЬКО исходный код для 1 класса. Мне нужно только пройти через одну функцию в этом файле, но я не понимаю, что мне нужно для этого сделать. Я думаю, что шаги, как правило, примерно так:

  1. Открыть файл в VS
  2. Загрузить в «символы» (файл .PDB)
  3. Присоединить к запущенному процессу

Я знаю, как сделать # 1 и # 3, но я не знаю, как сделать # 2 без файла .PDB. Можно ли сгенерировать файл .PDB для этого, чтобы он работал? Спасибо!

Ответы [ 4 ]

7 голосов
/ 20 сентября 2008

Вам нужны * .pdb файлы (шаг 2 из вашего поста). Эти файлы содержат сопоставление между исходным кодом и скомпилированной сборкой. Так что ваш шаг верен. Если ваш исходный файл отличается от исходного файла, установите флажок «Разрешить исходному коду отличаться от исходной версии» в диалоговом окне свойств BP.

Точки останова и трассировки в Visual Studio

Если у вас нет файлов PDB, вы можете попытаться декомпилировать проект, используя Reflector.FileDisassembler или FileGenerator For Reflector . Они вы можете перекомпилировать эти файлы, чтобы получить PDB

Также взгляните на Деблектор - отладочная надстройка для Reflector.

1 голос
/ 20 сентября 2008

Вам необходим файл файла символов (.PDB), принадлежащий приложению, которое вы пытаетесь отлаживать.

MSDN: файлы PDB

Отладчик Visual Studio использует путь к PDB в файле EXE или DLL, чтобы найти файл project.pdb. Если отладчик не может найти файл PDB в этом месте, или если путь недопустим, например, если проект был перемещен на другой компьютер, отладчик ищет путь, содержащий EXE, за которым следуют пути символов, указанные в диалоговом окне «Параметры». , Этот путь обычно является папкой отладки в узле Symbols. Отладчик не будет загружать PDB, который не соответствует отлаживаемому двоичному файлу.

0 голосов
/ 20 сентября 2008

В вашем случае 'Symbols' означает файл pdb для сборки, которую вы хотите отладить. Отладчик не требует, чтобы у вас был весь исходный код, просто у вас есть соответствующий pdb. Pdb генерируется во время сборки сборки, и вы, к сожалению, не можете создать ее после факта. Если у вас нет pdb, вам нужно отладить на более низком уровне, чем исходный код.

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

Если вы не собрали его, вам нужно найти pdb для сборки. Окно модулей, находящееся в разделе «Отладка / Windows / Модули», часто может помочь, сообщая вам сборки, загруженные в процессе, вместе с информацией о версии и временными метками.

Эта информация понадобится вам в тех случаях, когда может быть несколько версий сборки (например, хранить много ночных сборок или последние 20 или около того версий из сборок с непрерывной интеграцией).

надеюсь, что это поможет.

0 голосов
/ 20 сентября 2008

Файл символов представляет собой файл .pdb. Если вы поместите это рядом с выполнимым, это будет загружать символы и указывать на исходный файл.

...