Next: , Up: Breaks   [Contents][Index]


17.2.6.1 Edebug Breakpoints

Edebugを使用しているときは、テスト中のプログラム内にbreakpointを指定できます。breakpointとは、実行がストップされる場所のことです。Using Edebugで定義されている任意のストップポイントに、breakpointをセットできます。breakpointをセットおよび解除において影響を受けるストップポイントは、ソースコードバッファー内でポイント位置、またはポイント位置の後の最初のストップポイントです。以下はEdebugのbreakpoint用のコマンドです:

b

ポイント位置、またはポイント位置の後のストップポイントに、breakpointをセットする(edebug-set-breakpoint)。プレフィクス引数を使用した場合、それは一時的なbreakpointになり、プログラムが最初にそこで停止したとき解除される。

u

(もしあれば)ポイント位置、またはポイント位置の後のストップポイントにあるbreakpointを解除(unset)する(edebug-unset-breakpoint)。

x condition RET

conditionを評価して非nil値になる場合だけプログラムをストップする、条件付きbreakpointをセットする(edebug-set-conditional-breakpoint)。プレフィクス引数を指定した場合は、一時的なbreakpointになる。

B

カレント定義内の、次のbreakpointにポイントを移動する(edebug-next-breakpoint)。

Edebug内では、bでbreakpointをセットして、uでそれを解除できます。最初に望ましいストップポイントにポイントを移動してから、そこにbreakpointをセットまたは解除するためにbまたはuをタイプしますbreakpointがない場所でbreakpointを解除しても、影響はありません。

ある定義を再評価、または再インストルメントすると、以前のbreakpointはすべて削除されます。

条件付きbreakpoint(conditional breakpoint)は、プログラムがそこに達するたびに条件をテストします。条件を評価した結果エラーが発生した場合、エラーは無視され結果はnilになります。条件付きbreakpointをセットするにはxを使用して、ミニバッファーで条件式を指定します。以前にセットされた条件付きbreakpointがあるストップポイントに条件付きbreakpointをセットすると、以前の条件式がミニバッファーに配されるので、それを編集できます。

プレフィクス引数を指定してbreakpointをセットするコマンドを使用することにより、一時的な条件付きbreakpoint、および無条件のbreakpointを作成できます。一時的なbreakpointによりプログラムがストップしたとき、そのbreakpointは自動的に解除されます。

Go-nonstopモードを除き、Edebugは常にbreakpointでストップ、またはpauseします。Go-nonstopモードでは、breakpointは完全に無視されます。

breakpointがどこにあるか探すには、Bコマンドを使用します。このコマンドは同じ関数内から、ポイント以降にある次のbreakpoint(ポイント以降にbreakpointが存在しない場合は最初のbreakpoint)にポイントを移動します。このコマンドは実行を継続せず、単にバッファー内のポイントを移動します。