If a Windows application crashed on user's device without pdb, it would produce callstack like this:
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
but I have.PDB file on development device, so I want address source line through.PDB. I know a command addr2line
that can address line through.so file on Linux, I wonder if there's a command like addr2line
on Windows.
Open TestGame.exe in windbg, you need exactly same binary. Break execution. Load the .pdb for that version. Run the following command:
ln TestGame.exe+0x1c0c9f1
I happened to find this one: https://drmemory.org/page_symquery.html If you don't get the module base address, try VS' dumpbin.exe /headers xxx.exe to get the image base.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.