私は Windbg をまったく初めて使用することを認めます。うまくいけば、これはインターネット上で答えを見つけることができなかった初歩的な質問です。
とにかく、ここに私のシンボル パスがあります: SRV*c:\symbols* http://msdl.microsoft.com/download/symbols
作成した小さなコマンド ライン プログラムがあるので、[ファイル] -> [実行可能ファイルを開く] に移動します。
.exe を選択し、その画面から 2 つの引数を指定します。次に、コマンド ウィンドウに移動し、'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 ファイルがあります。
はい、プログラムはデバッグ モードでビルドされています。スタック トレースを取得しようとしているだけなので、報告されているスタック オーバーフローのソースを見つけることができます。
ありがとうございました!