5

GDB にスタックの 16 進値を表示させようとしているので、コマンドを使用しx /48b $espました。スタック ポインタ。ただし、このコマンドを実行すると、整数値 (代わりに負の値) が得られます。例を以下に示します。

(gdb) x /48b $esp
0xbffff200: 40  -14 -1  -65 24  -114    4   8
0xbffff208: 123 0   0   0   0   0   0   0
0xbffff210: 16  0   0   0   -3  -112    17  0
0xbffff218: -18 64  27  0   -1  -1  -1  -1
0xbffff220: 88  40  19  0   45  -9  17  0
0xbffff228: 38  38  -64 -14 -1  -65 -64 -14

このコマンドは以前に機能していましたが (私が知る限り、まったく同じコマンドでした)、突然機能しなくなったようです。何か案は?

4

1 に答える 1

4

あなたはおそらくあなたのコマンドを間違って入力しています:

フォーマット文字は、o (8 進数)、x (16 進数)、d (10 進数)、u (符号なし 10 進数)、t (2 進数)、f (浮動小数点数)、a (アドレス)、i (命令)、c (文字)、および s です。 (ストリング)。

16 進出力には、次のコマンドを使用する必要があります。x /48x $esp

于 2012-04-08T02:44:10.233 に答える