dbx コマンドによるデバッグ

関数を表示する

func コマンドを使用すると、関数を表示することができます。コマンド func に続けて、関数名を入力します。func コマンドを単独で使用すると、現在表示中の関数が表示されます。次の例を示します。


(dbx) func adjust_speed

あいまいな関数名をリストから選択する (C++)

C++ の場合、あいまいな名前または多重定義されている関数名を指定してメンバー関数を表示しようとすると、多重定義されているというメッセージが表示され、指定された名前を持つ関数のリストが示されます。

指定の関数があいまいな場合は、表示したい関数の番号を入力します。関数が属している特定クラスを知っている場合は、次のように入力することができます。


(dbx) func block::block

複数存在する場合の選択

同じスコープレベルから複数のシンボルにアクセスできる場合、dbx は、あいまいさについて報告するメッセージを出力します。


(dbx) func main
(dbx) which block::block
識別子 'block' が複数あります
以下の名前から 1 つ選択してください:
 0)	取り消し
 1)	`Blocks`block.cc`block::block(void)
 2)	`Blocks`block.cc`block::block(char*, int, int, const point&, 
	load_bearing_block*)
>

which コマンドのコンテキストでシンボル名のリストから特定のシンボルを選んでも、dbx またはプログラムの状態には影響しません。いずれにせよ、どのシンボルを選んでも名前を表示するだけです。

which コマンドは、dbx がどのシンボルを検索するかを前もって示すものです。あいまいな名前を指定して、多重定義されていると表示された場合は、該当する複数の名前のうちのどれを使用するかがまだ特定されていません。リストに表示されている名前から 1 つを選んでください。