Previous: Debugging C, Up: C


9.4.1.7 C++用のGDB機能

GDBのコマンドの中には、 C++を使用しているときに特に役に立つものがあり、 また、 C++専用に特に設計されたものがあります。 以下に、 その要約を示します。

breakpoint menus
名前がオーバーロードされている関数の内部にブレイクポイントを設定したい場合、 関心のある関数定義を指定するのに、 GDBのブレイクポイント・メニューが役に立ちます。 See Breakpoint menus


rbreak regex
あるオーバーロードされたメンバ関数が、 特別なクラスだけが持つメンバ関数というわけではない場合、 そのメンバ関数にブレイクポイントを設定するのに、 正規表現によるブレイクポイントの設定が役に立ちます。 See Setting breakpoints


catch throw
catch catch
C++の例外処理をデバッグするのに使用します。 See Setting catchpoints


ptype typename
typenameに関して、継承関係などの情報を表示します。 See Examining the Symbol Table


set print demangle
show print demangle
set print asm-demangle
show print asm-demangle
コードをC++のソースとして表示する場合と、 逆アセンブル処理の結果を表示する場合に、 C++のシンボルをソース形式で表示するか否かを制御します。 See Print settings
set print object
show print object
オブジェクトの型を表示する際に、 派生した (実際の) 型と宣言された型のどちらを表示するかを選択します。 See Print settings
set print vtbl
show print vtbl
仮想関数テーブルの表示形式を制御します。 See Print settings
オーバーロードされたシンボル名
オーバーロードされたシンボルを宣言するのに C++において使用されるのと同一の表記法を使用して、 オーバーロードされたシンボル定義のうち、 特定のものを指定することができます。 単にsymbolと入力するのではなく、 symbol(types)と入力してください。 GDBコマンドラインの単語補完機能を使用して、 利用可能な選択肢を一覧表示させたり、 型のリストを完結させたりすることができます。 この機能の使用方法の詳細については、 See Command completion