Вопрос

Как я могу получить полный стек вызовов для приложения на c ++, разработанного с помощью Visual Studio 2005?Я хотел бы иметь полный стек вызовов, включая код в системных библиотеках.

Должен ли я изменить некоторые настройки в Visual Studio или мне нужно установить дополнительное программное обеспечение?

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

Решение

  1. Получите отладочную информацию для всех зависимостей проекта.Это указано в разделе "Свойства конфигурации -> C/ C++ -> Общие" свойств проекта.

  2. В меню перейдите в раздел "Инструменты -> Параметры", затем выберите "Отладка -> Символы".

  3. Добавьте новое расположение символа (значок папки), указывающее на бесплатный сервер символов Microsoft “symsrvsymsrv.dllc:\symbols*http://msdl.microsoft.com/downloads/symbols

  4. Заполните поле "кэшировать символы", указав какое-нибудь локальное место, чтобы вы не выходили в Интернет постоянно.

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

Согласен с Клэем, но для Symbols Server вы должны получить последнюю версию symsrv.DLL из "Debugging Tools For Windows", бесплатной загрузки Microsoft.

(Поскольку вы явно спросили, что вам нужно загрузить, я предполагаю, что у вас этого еще нет)

Или, необязательно (при условии, что Visual Studio не установлена), возьмите копию Средства отладки Windows, установите и запустите приложение в отладчике (windbg.exe) или присоединить к уже запущенному приложению:

windbg[.exe] -pn program.exe
или
windbg[.exe] -идентификатор процесса p

Прервите работу отладчика в точке, которую вы хотите наблюдать для трассировки стека (Ctrl + Break).Переключитесь на интересующий поток (скорее всего, на основной поток выполнения).:

~0 с

Исправьте символы для системных модулей (и, возможно, для приложения, если таковое имеется).:

* исправьте символы для приложения
.симпатический путь к_апп_символам
* настройте, где отладчик будет загружать и сохранять системные символы.
.symfix+ путь, по которому_система_символов_ будет сохранена
* принудительно загрузить символы в отладчик
.перезарядить

Выполните команду стека вызовов:

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