Отладка с помощью файла Pdb и файла исходного кода в Visual Studio

У меня есть веб-проект, который отправляет из кода на стороне клиента в метод во внешней DLL, который у меня есть файл исходного кода и файл pdb этой внешней библиотеки DLL. Что я хотел бы сделать, это отладить внешнюю DLL, используя файл исходного кода и pdb. Visual Studio не останавливается, чтобы сказать, что символы не загружены для модуля с тех пор.

1 ответ

Решение

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

Но на заднем плане происходят вещи. Visual Stuido всегда помещает файлы символов в папку отладки при сборке приложения, а также загружает их, как описано в разделе Loading the symbols automatic,

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

Загрузка символов manuell

Если вы хотите загрузить символы вручную, вы можете загрузить их с помощью Modules Диалог.

"Debug" -> "Windows" -> "Modules",

Вы можете щелкнуть правой кнопкой мыши по строке, и есть опция "Загрузить символы", которая позволяет вам указать файл pdb для загрузки.

введите описание изображения здесь

Загрузка символов автоматическая

Visual studio также автоматически загружает символы, когда их можно найти в одном из следующих мест.

  • Расположение, указанное внутри DLL или исполняемого файла. (По умолчанию, если вы создали DLL или исполняемый файл на своем компьютере, компоновщик помещает полный путь и имя файла связанного файла.pdb в DLL или исполняемый файл. Сначала отладчик проверяет, является ли символ Файл существует в месте, указанном внутри DLL или исполняемого файла. Это полезно, потому что у вас всегда есть символы, доступные для кода, скомпилированного на вашем компьютере.)

  • Файлы.pdb, которые могут присутствовать в той же папке, что и DLL или исполняемый файл.

  • Любые локальные папки кэша символов.
  • Любые сети, Интернет или локальные серверы символов и местоположения, указанные на нем, например сервер символов Microsoft, если он включен.

введите описание изображения здесь

Если вы хотите узнать больше о том, как символы используются в Visual Studio, вы можете прочитать эту статью о Understanding symbol files and Visual Studio’s symbol settings,

Другие вопросы по тегам