отладка — есть ли команда нравится addr2line в Windows

Если приложение Windows зависало на устройстве пользователя без pdb, оно создавало бы стек вызовов следующим образом:

TestGame  0x000000003f790000 + 1c0c9f1
TestGame  0x000000003f790000 + 4b8a97c
TestGame  0x000000003f790000 + 4b8a4f1
TestGame  0x000000003f790000 + 3608413
TestGame  0x000000003f790000 + 3630e94
TestGame  0x000000003f790000 + 413a33e
TestGame  0x000000003f790000 + 4151d46
TestGame  0x000000003f790000 + 149c9e6
TestGame  0x000000003f790000 + 149cc90
TestGame  0x000000003f790000 + 419cddd
TestGame  0x000000003f790000 + 41ab698
TestGame  0x000000003f790000 + 3a909df
TestGame  0x000000003f790000 + 3a999ff
TestGame  0x000000003f790000 + 38fd369
TestGame  0x000000003f790000 + 338688
TestGame  0x000000003f790000 + 34827c
TestGame  0x000000003f790000 + 3482da
TestGame  0x000000003f790000 + 355e16
TestGame  0x000000003f790000 + 5169f2e
kernel32      0x0000000076ec0000 + 159cd
ntdll         0x0000000076fe0000 + 5383d

но у меня есть файл .PDB на устройстве разработки, поэтому я хочу, чтобы строка источника адреса проходила через .PDB. Я знаю команду addr2line который может адресовать строку через .so файл в Linux, мне интересно, есть ли такая команда addr2line на винде.

0

Решение

Откройте TestGame.exe в windbg, вам нужен точно такой же двоичный файл. Прервите исполнение. Загрузите .pdb для этой версии. Запустите следующую команду:

ln TestGame.exe+0x1c0c9f1
0

Другие решения

Других решений пока нет …