stop in コマンドを使用して、関数にブレークポイントを設定できます。
(dbx) stop in function
関数内ブレークポイントは、プロシージャまたは関数の最初のソース行の先頭でプログラムの実行を中断します。
dbx は次の状況を除いて、参照されている関数を特定できるはずです。
名前のみで、オーバーロードした関数を参照する場合
先頭に ` が付く関数を参照する場合
リンカー名 (C++ でのマングル名) で関数が参照されている。この場合、dbx は、名前の前に # が付けられていれば、名前を受け付けます。詳細については、リンカー名を参照してください。
次の宣言を考えてみましょう。
int foo(double); int foo(int); int bar(); class x { int bar(); };
非メンバー関数で停止するには、次のコマンドでグローバル foo(int) にブレークポイントを設定します。
stop in foo(int)
メンバー関数にブレークポイントを設定するには:
stop in x::bar()
次のコマンドでは、dbx でグローバル関数 foo(int) またはグローバル関数 foo(double) のどちらを意味しているのかを判断できないため、明確にするためにオーバーロードしたメニューを表示させることができます。
stop in foo
次のように入力すると:
stop in `bar
dbx は、ユーザーがグローバル関数 bar() と、メンバー関数 bar() のどちらを意味しているのかを判断することができないため、オーバーロードしたメニューを表示します。
関数内イベントの指定の詳細については、in イベント指定を参照してください。