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

29.6.4 GUDのカスタマイズ

起動時に、GUDは以下のいずれかのフックを実行します:GDBを使用している場合はgdb-mode-hook、DBXを使用している場合はdbx-mode-hook、SDBを使用している場合はsdb-mode-hook、XDBを使用している場合はxdb-mode-hook、Guile REPLデバッグの場合はguiler-mode-hook、Perlデバッグモードの場合はperldb-mode-hook、PDBの場合はpdb-mode-hook、JDBの場合はjdb-mode-hook。フックを参照してください。

gud-def Lispマクロ(Emacs Lispリファレンスマニュアルのマクロの定義を参照)を使用すると、特定のコマンド文字列をデバッガに送信するEmacsコマンドを定義し、GUDインタラクションバッファにキーバインドを設定する便利な方法が提供されます:

(gud-def function cmdstring binding docstring)

これにより、デバッガプロセスにcmdstringを送信し、ドキュメント文字列docstringを渡すfunctionという名前のコマンドが定義されます。その後、任意のバッファでコマンドfunctionを使用できます。bindingがnil以外の場合、gud-defによってこのコマンドはGUDバッファのモードではC-c bindingに、通常はC-x C-a bindingにバインドされます。

コマンド文字列 cmdstring には、function が呼び出された際に埋め込まれるデータを表す、特定の ‘%’ シーケンスが含まれる場合があります:

‘%f’

現在のソースファイル名。現在のバッファがGUDバッファである場合、現在のソースファイルはプログラムが停止したファイルとなります。

‘%l’

現在のソース行番号。現在のバッファがGUDバッファである場合、現在のソース行はプログラムが停止した行となります。

‘%e’

トランジェントマークモードでは、当該領域のテキスト(アクティブな場合)。そうでない場合は、ポイント上または隣接するC言語の左辺値または関数呼び出し式のテキスト。

‘%a’

ポイント上または隣接する16進数アドレスのテキスト。

‘%p’

呼び出される関数の数値引数(10進数)。数値引数を指定せずにこのコマンドを使用した場合、‘%p’は空文字列を表します。

コマンド文字列で「%p」を使用しない場合、定義したコマンドは数値引数を無視します。

‘%d’

現在のソースファイルのディレクトリ名。

‘%c’

ポイントを囲む式から導出された完全修飾クラス名(jdbのみ)。