8

たとえば、GDBでブレークポイントをより簡単に識別できるようにするために、GDBでブレークポイントにラベルを付ける/名前を付ける方法はありますinfo bか?もしそうなら、どのように?

4

2 に答える 2

6

いいえ、これを行う方法はありません。

http://users.ece.utexas.edu/~adnan/gdb-refcard.pdf

于 2013-03-23T02:12:00.090 に答える
3

これはの出力には役立ちませんがinfo b、後でコマンドでブレークポイントを参照する必要がある他の目的では、最後のブレークポイントのブレークポイント番号を$bpnum別の便利な変数に格納できます。例:

b foo.c:123
set $im_a_breakpoint = $bpnum
# ... set some more breakpoints and do some other stuff ...
disable $im_a_breakpoint

さらなる例として、私は現在このパターンをタスクに使用しています。JITによって発行されたコードで通常のgdbブレークポイントを使用しています。これは、gdbが変更するため、コードが実際に発行された後にアドレスにブレークポイントを設定する必要があります。コード。commandsこの目的のために、私は実際にそれ自身のブロック内から初期設定ブレークポイントを無効にします:

set $cur_stop_point = 0x41aaa
b basic_jit_cache::copy_block if ((uint32_t)this->code_ptr()) > ($gencode + $cur_stop_point)
set $cur_stop_point_setup_bp = $bpnum
commands
  b *($gencode + $cur_stop_point)
  disable $cur_stop_point_setup_bp
  cont
end
于 2020-03-04T06:02:15.630 に答える