0

我承认对 Windbg 完全陌生,所以希望这是一个我在互联网上找不到答案的愚蠢问题。

无论如何,这是我的符号路径: SRV*c:\symbols* http://msdl.microsoft.com/download/symbols

我有一个我制作的小命令行程序,所以我转到 File -> Open Executable

我选择 .exe 并从该屏幕给它两个参数。然后我转到命令窗口并按“g”运行我的程序。我得到以下输出。

CommandLine: C:\Users\me\devcode\folder\program\myprogram.exe input1 outputdir
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
ModLoad: 01320000 01367000   image01320000
ModLoad: 779b0000 77b30000   ntdll.dll
ModLoad: 76e30000 76f40000   C:\Windows\syswow64\kernel32.dll
ModLoad: 76790000 767d7000   C:\Windows\syswow64\KERNELBASE.dll
(19a8.1cf0): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=cb5b0000 edx=0026ddf8 esi=fffffffe edi=00000000
eip=77a50fab esp=001af830 ebp=001af85c iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
ntdll!LdrpDoDebuggerBreak+0x2c:
77a50fab cc              int     3
0:000> g
(19a8.1cf0): Stack overflow - code c00000fd (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Module load completed but symbols could not be loaded for image01320000
eax=008872a8 ebx=7efde000 ecx=008872a8 edx=00887e60 esi=00000000 edi=00000000
eip=01327076 esp=000b2fe4 ebp=000b3028 iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
image01320000+0x7076:
01327076 53              push    ebx

我最关心的是这样一行:

*** ERROR: Module load completed but symbols could not be loaded for image01320000

image01320000 来自哪里?这不应该是我的可执行文件的名称吗?我确实有创建的 .pdb 文件。

是的,我的程序是在调试模式下构建的。我只是想获得一个堆栈跟踪,以便找到它报告的堆栈溢出的来源。

谢谢!

4

0 回答 0