次: , 前: Delete Breaks, 上: Breakpoints


5.1.5 ブレイクポイントの無効化

ブレイクポイント、 ウォッチポイント、 キャッチポイントを削除するのではなく、 無効化したい場合もあるでしょう。 無効化によって、 ブレイクポイントは、 それがあたかも削除されたかのように機能しなくなりますが、 後に再度有効化することができるよう、 そのブレイクポイントに関する情報は記憶されます。

ブレイクポイント、 ウォッチポイント、 キャッチポイントは、 enableコマンドとdisableコマンドによって有効化、 無効化されます。 これらのコマンドには、 引数として1つ以上のブレイクポイント番号を指定することも可能です。 指定すべき番号が分からない場合は、 info breakコマンド、 または、 info watchコマンドによってブレイクポイント、 ウォッチポイント、 キャッチポイントの一覧を表示させてください。

ブレイクポイント、 ウォッチポイント、 キャッチポイントは、 有効/無効という観点から見て、 4つの異なる状態を持つことができます。

以下のコマンドを使用することで、 ブレイクポイント、 ウォッチポイント、 キャッチポイントの有効化、 無効化が可能です。

disable [breakpoints] [bnums...]
指定されたブレイクポイントを無効化します。 番号が1つも指定されない場合は、 すべてのブレイクポイントが無効化されます。 無効化されたブレイクポイントは何ら影響力を持ちませんが、 そのブレイクポイントに関する情報まで削除されるわけではありません。 そのブレイクポイントを無視する回数、 ブレイクポイント成立の条件、 ブレイクポイント・コマンドなどのオプションは、 後にそのブレイクポイントが有効化される場合に備えて、 記憶されています。 disableコマンドは disと省略することができます。


enable [breakpoints] [bnums...]
指定されたブレイクポイント (または、 すべての定義済みブレイクポイント) を有効化します。 有効化されたブレイクポイントは、 再びユーザ・プログラムを停止させることができるようになります。
enable [breakpoints] once bnums...
指定されたブレイクポイントを一時的に有効化します。 このコマンドで有効化されたブレイクポイントはどれも、 最初にプログラムを停止させた直後に、 GDBによって無効化されます。
enable [breakpoints] delete bnums...
1回だけプログラムを停止させ、 その直後に削除されるような設定で、 指定されたブレイクポイントを有効化します。 このコマンドで有効化されたブレイクポイントはどれも、 最初にプログラムを停止させた直後に、 GDBによって削除されます。

tbreakコマンド (see Setting breakpoints) で設定されたブレイクポイントを除き、 ユーザによって設定されたブレイクポイントの初期状態は有効状態です。 その後、 ユーザが上記のコマンドのいずれかを使用した場合に限り、 無効化されたり有効化されたりします (untilコマンドは、 独自にブレイクポイントを設定、 削除することができますが、 ユーザの設定した他のブレイクポイントの状態は変更しません。 see Continuing and stepping)。