完全なソース コードはありませんが、シンボルを含むオブジェクト ファイルがあります。読み取り行があります:
=> 0x080489cd <+169>: call 0x8049275 <read_line>
0x080489d2 <+174>: mov %eax,(%esp)
0x080489d5 <+177>: call 0x8048d59 <phase_1>
in the function:
8048d59: 55 push %ebp
8048d5a: 89 e5 mov %esp,%ebp
8048d5c: 83 ec 08 sub $0x8,%esp
最初の行に ab を入力し、念のため関数名にも 1 つ追加しました。「1」を入力してみたところp *(char**)$esp
、次のようになりました。
0x80489da "\350\355\006"
これは私が期待していたものではありません。「1」が見られると思っていました。私も試しました:
gdb x $esp
0xbffff0cc: 0x080489da
gdb x *0xbffff0cc
0x80489da <main+182>: 0x0006ede8