Как указать каталог исходного кода в VS при просмотре стека вызовов дампа памяти?

StackOverflow https://stackoverflow.com/questions/165699

Вопрос

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

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

Это было полезно?

Решение

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

Я использую инструмент Магия соединительных ссылок

Другие советы

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top