2008-09-20 1 views
1

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

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

I умеют делать # 1 и # 3, но я не делаю # 2 без файла .PDB. Возможно ли сгенерировать файл .PDB для этого, чтобы он работал? Благодаря!

ответ

7

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

Breakpoints and Tracepoints in Visual Studio

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

Также обратите внимание на Deblector - отладка аддинера для рефлектора.

1

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

MSDN: PDB Files

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

0

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

0

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

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

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

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

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

Смежные вопросы