Как указать каталог исходного кода в VS при просмотре стека вызовов дампа памяти? - PullRequest
5 голосов
/ 03 октября 2008

Я анализирую файл .dmp, который был создан, и у меня есть стек вызовов, который дает мне много информации. Но я бы хотел дважды щелкнуть по стеку вызовов, чтобы он привел меня к исходному коду.

Я могу щелкнуть правой кнопкой мыши по стеку вызовов и выбрать настройки символов ... где я могу поместить местоположение в PDB. Но нет опции для каталога с исходным кодом.

Ответы [ 4 ]

3 голосов
/ 03 октября 2008

Каталог исходного кода, к сожалению, жестко запрограммирован в pdb, однако, если вы знаете требуемые папки, вы можете использовать концепцию символических ссылок, соединений, окон.

Я использую инструмент Junction Link Magic

3 голосов
/ 04 октября 2008

Прочитайте эту статью о том, как настроить интеграцию исходного сервера (или SrcSrv) на вашем сайте.

Я потратил время на выполнение этих шагов для нашей базы кода, и теперь мы можем взять файл .dmp из любой сборки нашего программного обеспечения за последние 6 месяцев ... получить трассировку стека с символами ... и просмотреть точные строки исходного кода в отладчике. Поскольку шаги интегрированы в наши автоматизированные сборки, теперь очень мало накладных расходов.

Мне нужно было написать собственный индексатор для ClearCase, но у них есть уже существующие для Perforce, TFS и, возможно, других.

Стоит отметить, что поддержка .dmp в VS2005 немного шаткая ... в VS2008 она немного более стабильна.

Вам также потребуется настроить Visual Studio для получения символов для продуктов MS отсюда в дополнение к вашему собственному серверу символов:

http://msdl.microsoft.com/download/symbols

Это описано в нескольких местах, например на сайте Средства отладки для Windows .

2 голосов
/ 12 августа 2009

Windbg позволяет вам устанавливать исходные пути так же, как пути PDB.

0 голосов
/ 03 октября 2008

После загрузки PDB вручную перейдите к исходному файлу, который соответствует текущему месту выполнения. PDB содержит путь и имя файла исходных файлов, которые создали связанный с ним двоичный файл, и я подозреваю, что отладчик достаточно умен, чтобы подключиться, когда он замечает, что имя отображаемого файла и имя файла, связанного с текущим двоичным местоположением, совпадают. 1001 *

...