GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Options.html ・ emacs-doc.conao3.com

19.2.16 Edebugオプション

これらのオプションはEdebugの動作に影響します:

ユーザーオプション: edebug-setup-hook

Edebug が使用される前に呼び出される関数です。新しい値が設定されるたびに、Edebug はこれらの関数を1回呼び出し、その後 edebug-setup-hook を nil にリセットします。これを利用して、使用しているパッケージに関連付けられた Edebug 仕様を読み込むことも可能ですが、その場合は Edebug も併せて使用している必要があります。Edebug のインストルメンテーション を参照してください。

ユーザーオプション: edebug-all-defs

これが non-nil の場合、defun や defmacro といった定義形式の通常の評価により、Edebug 用にインストゥルメント化されます。これは eval-defun、eval-region、および eval-buffer にも適用されます。

コマンド M-x edebug-all-defs を使用して、このオプションの値を切り替えます。Edebug 用のインストルメンテーションを参照してください。

ユーザーオプション: edebug-all-forms

これが non-nil の場合、コマンド eval-defun、eval-region、eval-buffer は、何も定義していないフォームも含め、すべてのフォームに適用されます。これは、ミニバッファでの読み込みや評価には適用されません。

コマンド M-x edebug-all-forms を使用して、このオプションの値を切り替えます。Edebug 用のインストルメンテーションを参照してください。

ユーザーオプション: edebug-eval-macro-args

これが nil 以外の場合、生成されるコード内ですべてのマクロ引数がインストルメンテーションされます。任意のマクロにおいて、debug 宣言はこのオプションを上書きします。したがって、一部の引数が評価され、一部が評価されないマクロに対して例外を指定するには、debug 宣言を用いて Edebug フォームの仕様を指定してください。

ユーザーオプション: edebug-save-windows

これが nil 以外の場合、Edebug はウィンドウ構成を保存および復元します。これには時間がかかるため、プログラムがウィンドウ構成の状態を問わないのであれば、この変数を nil に設定するのが適切です。また、デフォルト値のせいで、ウィンドウ構成の保存・復元により、デバッグ対象のプログラムで使用されているバッファ内の point の位置が Edebug によって上書きされてしまう場合は、この値を nil に設定することを推奨します。これは、プログラムがそれらのバッファの1つ以上で point を移動させた場合に起こり得ます。この場合にカスタマイズを試みるもう一つの選択肢として、後述する edebug-save-displayed-buffer-points があります。

edebug-save-windows の値がリストの場合、リストに指定されたウィンドウのみが保存および復元されます。

Edebug の W コマンドを使用すると、この変数を対話的に変更できます。Edebug ディスプレイの更新 を参照してください。

ユーザーオプション: edebug-save-displayed-buffer-points

これが non-nil の場合、Edebug は表示されているすべてのバッファでポイントを保存・復元します。

選択されていないウィンドウに表示されているバッファのポイント(Pointを参照)を変更するコードをデバッグする場合、他のバッファのポイントを保存および復元する必要があります。Edebugまたはユーザーがそのウィンドウを選択すると、そのバッファのポイントはウィンドウのポイント値に移動します。

すべてのバッファでポイントを保存・復元する処理は、各ウィンドウを2回選択する必要があるためコストがかかります。そのため、必要な場合にのみ有効にしてください。Edebug Display Updateを参照してください。

ユーザーオプション: edebug-initial-mode

この変数が nil 以外の場合、Edebug が最初に有効化された際の初期実行モードを指定します。指定可能な値は step、next、go、Go-nonstop、trace、Trace-fast、continue、および Continue-fast です。

デフォルト値は step です。この変数は C-x C-a C-m (edebug-set-initial-mode) で対話的に設定できます。Edebug 実行モード を参照してください。

ユーザーオプション: edebug-trace

これが nil 以外の場合、各関数のエントリとエグジットをトレースします。トレース出力は *edebug-trace* という名前のバッファに表示され、1行につき1つの関数エントリまたはエグジットが、再帰レベルに応じてインデントされて出力されます。

また、トレースバッファのedebug-tracingも参照してください。

ユーザーオプション: edebug-test-coverage

nil 以外の場合、Edebug はデバッグ対象となったすべての式のカバレッジをテストします。カバレッジテストを参照してください。

ユーザーオプション: edebug-continue-kbd-macro

nil 以外の場合は、Edebug 外で実行されている任意のキーボードマクロの定義または実行を継続します。デバッグ対象外となるため、使用には注意してください。Edebug 実行モードを参照してください。

ユーザーオプション: edebug-print-length

nil 以外の場合、印刷時の print-length のデフォルト値は Edebug となります。出力に影響する変数 を参照してください。

ユーザーオプション: edebug-print-level

nil 以外の場合、印刷時の print-level のデフォルト値は Edebug となります。出力に影響する変数 を参照してください。

ユーザーオプション: edebug-print-circle

nil 以外の場合、印刷時の print-circle のデフォルト値は Edebug となります。出力に影響する変数 を参照してください。

ユーザーオプション: edebug-unwrap-results

nil 以外の場合、Edebug は式の結果を表示する際に、自身によるインストルメンテーションを削除しようとします。これは、式の結果自体がインストルメンテーションされた式となっているマクロをデバッグする際に重要となります。非常に作為的な例として、例示関数 fac にインストルメンテーションが施されているとし、次のような形式のマクロを考えてみましょう:

(defmacro test () "Edebug example."
  (if (symbol-function 'fac)
      ...))

test マクロにインストルメントを施してステップ実行すると、デフォルトでは symbol-function 呼び出しの結果に多数の edebug-after や edebug-before 形式が含まれるため、実際の結果を把握しにくくなることがあります。edebug-unwrap-results が nil 以外の場合、Edebug は結果からこれらの形式を削除しようとします。

ユーザーオプション: edebug-on-error

debug-on-error が以前は nil であった場合、Edebug は debug-on-error をこの値にバインドします。エラーのトラップ を参照してください。

ユーザーオプション: edebug-on-quit

debug-on-quit が以前は nil であった場合、Edebug は debug-on-quit をこの値にバインドします。エラーのトラップ を参照してください。

Edebugが有効な状態でedebug-on-errorまたはedebug-on-quitの値を変更しても、新しいコマンドでEdebugが呼び出される次回まで、その値は使用されません。

ユーザーオプション: edebug-global-break-condition

nil 以外の場合、各停止点で判定する式。結果が nil 以外であれば、中断する。エラーは無視される。グローバル中断条件 を参照。

ユーザーオプション: edebug-sit-for-seconds

ブレークポイントに到達し、実行モードがトレースまたはコンティニューの場合の一時停止秒数。Edebug 実行モードを参照してください。

ユーザーオプション: edebug-sit-on-break

ブレークポイント到達時に edebug-sit-for-seconds で一時停止するかどうか。一時停止を防ぐ場合は nil を、許可する場合は nil 以外を設定してください。

ユーザーオプション: edebug-behavior-alist

デフォルトでは、このalistにはキー edebug を持つエントリが1つ含まれており、そこにはインストルメンテーション済みコードに挿入される関数のデフォルト実装である3つの関数 edebug-enter、edebug-before、edebug-after がリストされています。Edebugの動作をグローバルに変更するには、このデフォルトエントリを変更してください。

また、任意のキーと3つの関数をこのalistにエントリとして追加することで、定義ごとにEdebugの動作を変更することも可能です。その後、インストルメンテーション対象の定義のedebug-behaviorシンボルプロパティをその新規エントリのキーに設定すると、Edebugはその定義において、自前の関数の代わりに新規関数を呼び出します。

ユーザーオプション: edebug-new-definition-function

Edebugが定義またはクロージャの本体をラップした後に実行する関数。Edebugが自身のデータを初期化した後、この関数は1つの引数(定義に関連付けられたシンボル)とともに呼び出される。このシンボルは、実際に定義されたシンボルである場合もあれば、Edebugによって生成されたシンボルである場合もある。この関数は、Edebugによってインストルメントされた各定義のedebug-behaviorシンボルプロパティを設定するために使用できる。

ユーザーオプション: edebug-after-instrumentation-function

Edebugを使用する前に、そのインストルメンテーションを検査または変更するには、この変数に、インストルメンテーション対象のトップレベルフォームを1つの引数として受け取り、元のフォームまたは代替フォームのいずれかを返す関数を設定してください。Edebugは、そのフォームをインストルメンテーションの最終結果として使用します。