VS2010 C ++ не включает пути к .pdb моим скомпилированным .dll в соответствии с дампбином - PullRequest
0 голосов
/ 24 сентября 2010

Visual Studio компилирует проекты в dll, как я хочу, но когда я проверяю эти dll с помощью dumpbin, у них нет записи для их pdbs, что, вероятно, является причиной, по которой я не могу отладить ни одну из этих dll, если Я загружаю их во время выполнения, и их pdbs никогда не загружаются. Как я могу заставить VS написать эти пути?

Visual Studio, C ++.

Edit: Формат C ++ / General / Debug Information установлен на «Program Database (/ Zi)», а Linker / Debugging / Generate Debug Info на «Yes (/ DEBUG)», что, я считаю, является правильным.

Ответы [ 3 ]

2 голосов
/ 04 октября 2010

Если dumpbin /headers не показывает записи в каталогах отладки, возможно, это связано с тем, что вы не включили генерацию отладочной информации во время компиляции и компоновки.Вам следует проверить параметры C ++ / General / Debug Information и Linker / Debugging / Generate Debug Info .

Если эти параметры установлены, вы можете проверить,dll и pdb в выходном каталоге Visual match.С помощью средств отладки для Windows вы можете использовать команду symchk /v yourdll /s folder_containing_pdb, чтобы проверить, может ли pdb быть найден механизмом отладчика.Он проверит, не содержит ли dll отладочную информацию, в этом случае вам не хватает опции в Visual Studio или файл pdb не завершен.Вы также можете использовать Windbg с командой !sym noisy. Смотрите подробные инструкции здесь.

0 голосов
/ 24 сентября 2010

Вы можете указать Visual Studio, где искать ваши символы для этой статьи .В итоге:

Нажмите Путь к файлу символа в меню Файл, чтобы отобразить, установить или добавить путь к символу.

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

В окне Output должна быть информация о том, что произошло, когда ваша DLL была загружена.Возможно, это не та версия, которую вы ожидали?

0 голосов
/ 24 сентября 2010

На dbb нет ссылок в dll, их ищет Visual Studio.Если они находятся в одном каталоге, он должен их найти.

...