6

ステップするたびにn、次に実行するステートメントが出力されます。

n実際にコードをステップ実行せずに、 を入力したかのように、次のステートメントが実行されるのを確認するにはどうすればよいですか?

現在、私は を使用しています。whereこれにより、次のステートメントの行番号が得られ、listソース コードを表示するために使用できます。必要なものを取得するには、2 つの別個のコマンドが必要ですか?

4

3 に答える 3

2

「フレーム」コマンドを試してください。次のようなものが表示されます。

   (gdb) frame
   #0 main () at dummy.c:11
   11    FILE*f = fopen("somefile","r");
   (gdb)
于 2013-08-07T07:11:03.690 に答える
1

ホームディレクトリでmacro自分自身を定義します。.gdbinit

define shownext
where
list
end

さて、私が述べたことがうまくいくかどうかはわかりませんが、このようなことを行う方法についてはこちらをご覧ください。

于 2013-03-08T11:45:20.317 に答える
0

gdb が Python をサポートして構築されている場合、このlist.current.pyスクリプトは、必要な処理を実行する新しいlist-current gdb コマンドを追加します。

サンプル セッション:

$ gdb -x list-current.py /bin/true
(gdb) start
Temporary breakpoint 1 at 0x4014c0: file true.c, line 59.
Starting program: /usr/bin/true 

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffde88) at true.c:59
59    if (argc == 2)
(gdb) list-current 
59    if (argc == 2)
(gdb) list-current  3
59    if (argc == 2)
60      {
61        initialize_main (&argc, &argv);
(gdb) list-current  -2
58       argument.  */
59    if (argc == 2)
(gdb) 
于 2013-03-08T22:12:01.193 に答える