Edebugの使用中、テスト対象のプログラムにブレークポイントを指定できます。これは、実行を停止させる箇所のことです。Edebugの使用で説明されている通り、任意の停止地点にブレークポイントを設定できます。ブレークポイントの設定および解除において、影響を受ける停止地点は、ソースコードバッファ内のpoint以降で最初に現れる地点となります。以下に、ブレークポイントに関するEdebugコマンドを示します。
ポイント (edebug-set-breakpoint)
以降の停止地点にブレークポイントを設定します。プレフィックス引数を指定した場合、ブレークポイントは一時的なものとなり、プログラムが最初に停止した時点で解除されます。ブレークポイントには、edebug-enabled-breakpoint または edebug-disabled-breakpoint 面のオーバーレイが配置されます。
ポイント (edebug-unset-breakpoint)
以降の停止地点で、ブレークポイント(もしあれば)を解除します。
現在のフォーム (edebug-unset-breakpoints)
のブレークポイントを解除します。
ポイント付近(edebug-toggle-disable-breakpoint)のブレークポイントを無効にするかどうかを切り替えます。このコマンドは、ブレークポイントが条件付きであり、その条件を再現するのに手間がかかる場合に特に有用です。
condition の評価結果が nil 以外の値
(edebug-set-conditional-breakpoint)
となった場合にのみプログラムを停止させる条件付きブレークポイントを設定します。接頭辞引数を指定すると、このブレークポイントは一時的なものになります。
edebug-global-break-condition を condition に設定する。
現在の定義 (edebug-next-breakpoint)
内の次のブレークポイントにポイントを移動します。
Edebugでは、b でブレークポイントを設定し、u で解除できます。まずポイントを任意のEdebug停止点に移動し、次に b または u と入力して、そこにブレークポイントを設定または解除します。ブレークポイントが設定されていない状態で解除しても、何も起こりません。
定義を再評価または再計測すると、それまでのすべてのブレークポイントが削除されます。
条件付きブレークポイントは、プログラムがその箇所に到達するたびに条件を判定します。条件の評価によって発生したエラーは、結果がnilであるかのように無視されます。条件付きブレークポイントを設定するには、xを使用し、ミニバッファに条件式を指定します。既に条件付きブレークポイントが設定されている停止点に条件付きブレークポイントを設定すると、以前の条件式がミニバッファに表示されるため、それを編集できます。(また、Xを使用して、すべての停止点で評価されるグローバルブレーク条件を設定することもできます。詳細はグローバルブレーク条件を参照してください。)
ブレークポイントを設定するコマンドにプレフィックス引数を指定することで、条件付きまたは無条件の一時的なブレークポイントを作成できます。一時的なブレークポイントでプログラムが停止すると、自動的に解除されます。
Edebugは、EdebugモードがGo-nonstopの場合を除き、常にブレークポイントで停止または一時停止します。このモードでは、ブレークポイントを完全に無視します。
ブレークポイントの位置を確認するには、Bコマンドを使用してください。このコマンドは、ポイントを次のブレークポイントへ移動させるか、同一関数内の次のブレークポイントへ移動させるか、あるいは後続のブレークポイントがない場合は最初のブレークポイントへ移動させます。このコマンドは実行を継続させるものではなく、単にバッファ内のポイントを移動させるだけです。