web-dev-qa-db-ja.com

行番号を入力せずにgdbを使用して行をスキップできますか?

jumpを使用してプログラムカウンターを特定の行に設定できるため、1つ以上の行をスキップ(またはいくつかの行を再度実行)できることを知っています。行番号を入力せずに次の行を簡単にスキップできますか?

これは、実行時に何かを「コメントアウト」するのに非常に便利です。

58
Ortwin Gentz
jump +1

次の行にジャンプします。つまり、現在の行をスキップします。また、tbreak +1と組み合わせて、ジャンプターゲットに一時的なブレークポイントを設定することもできます。

Gdbで場所を表現するその他の方法については、 http://sourceware.org/gdb/current/onlinedocs/gdb/Specify-Location.html を参照してください。

ブレークポイントなしでgdbはジャンプする代わりに通常どおり実行を継続することに注意してください。そのため、ジャンプが機能しないようであれば、目的地にブレークポイントを設定してください。

69
laalto

.gdbinit構成ファイル:

define skip
    tbreak +1
    jump +1
end

そのため、gdbでskipと入力して、行をスキップします。

18
gospes

実行中に任意の数の行をスキップするには:

[Current Position -- in GDB] Line N
.......... // Lines To Skip
..........
..........
[Line To Execute - After Jumping] Line M

行Mにブレークポイントを配置します。

gdb$b M

行Mへジャンプ:

gdb$jump M
5
Sandeep Singh