前へ: edebug ソースレベルデバッガ, 上へ: デバッグ [目次][索引]
17.5 デバッグ演習
¶
count-words-example
関数をインストールし、呼び出し時に組み込みデバッガに入るようにしてください。2つの単語を含む領域に対してこのコマンドを実行してください。d
を驚くほど何度も押す必要があります。お使いのシステムでは、コマンドの実行後にフックが呼び出されますか?(フックに関する情報については、The GNU Emacs Lisp Reference Manual の Command
Loop Overview を参照してください。)
count-words-exampleを*scratch*バッファにコピーし、関数をEdebug用にインストルメントして、その実行をウォークスルーします。関数にバグがある必要はありませんが、必要に応じてバグを仕込むことも可能です。関数にバグがなければ、ウォークスルーは問題なく完了します。
- Edebugの実行中に ? と入力すると、すべてのEdebugコマンドの一覧が表示されます。(
global-edebug-prefix は通常 C-x
X、つまり CTRL-x の後に大文字の
X が続きます。Edebugのデバッグバッファ外で実行するコマンドには、この接頭辞を使用してください。)
- Edebugのデバッグバッファで、p (
edebug-bounce-point) コマンドを使用して、リージョン内のどこで count-words-example が動作しているかを確認してください。
- ポイントを関数のさらに下方に移動させ、h (
edebug-goto-here) コマンドを入力してその位置へジャンプしてください。
- t (
edebug-trace-mode)
コマンドを使用すると、Edebug が関数を自動的にステップ実行します。edebug-Trace-fast-mode の場合は大文字の T
を使用してください。
- ブレークポイントを設定し、停止点に到達するまでトレースモードでEdebugを実行してください。