Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

関数に stop ブレークポイントを設定する

stop in コマンドを使用して、関数にブレークポイントを設定します。


(dbx) stop in function

指定関数中で停止するブレークポイントは、プロシージャまたは関数の最初のソース行の冒頭でプログラムの実行を中断します。

dbx は、次の場合を除いては、ユーザーが参照している関数を決定します。

次の宣言を考えてみましょう。


int foo(double);
int foo(int);
int bar();
class x {
   int bar();
};

メンバーでない関数で停止する場合、次のように入力して、


stop in foo(int)

グローバル関数 foo(int) にブレークポイントを設定します。

メンバー関数にブレークポイントを設定するには、次のコマンドを使用します。


stop in x::bar()

次のように入力すると、


stop in foo

dbx は、ユーザーがグローバル関数 foo(int)、グローバル関数 foo(double) のどちらを意味しているのかを判断することができず、明確にするため、オーバーロードしたメニューを表示する場合があります。

次のように入力すると、


stop in `bar

dbx は、ユーザーがグローバル関数 bar() と、メンバー関数 bar() のどちらを意味しているのかを判断することができないため、オーバーロードしたメニューを表示します。

in function イベントを指定する詳細については、in function を参照してください。