A.5. GDB の変更点
Red Hat Developer Toolset 11.0 には、GDB 10.2 が同梱されてい ます。
以下の機能は、Red Hat Developer Toolset の以前のリリース以降に追加または変更されています。
新機能
- マルチスレッドシンボルの読み込みは、この機能をサポートするアーキテクチャーでデフォルトで有効になっています。この変更により、多くのシンボルを持つプログラムのパフォーマンスが向上します。
- テキスト形式のユーザーインターフェース(TUI)ウィンドウは水平方向に配置できます。
- GDB は、複数のターゲット接続を同時にデバッグしますが、このサポートは実験的なものであり、制限があります。たとえば、各 inferior を異なるマシンで実行する別のリモートサーバーに接続するか、または 1 つの inferior を使用してローカルのネイティブプロセスまたは他のプロセスのデバッグを行うことができます。
新規コマンドおよび改善されたコマンド
-
新しい
tui new-layout name window weight [window weight…]コマンドは、新しいテキストユーザーインターフェース(TUI)レイアウトを作成します。また、レイアウト名と表示ウィンドウを指定することもできます。 -
alias [-a] [--] alias = command [default-args]コマンドが改善され、新規エイリアスの作成時にデフォルトの引数を指定できます。 -
set exec-file-mismatchコマンドおよびshow exec-file-mismatchコマンドは、新しいexec-file-mismatchオプションを設定して表示します。GDB が実行中のプロセスに割り当てると、このオプションは、GDB がロードされた現在の実行可能ファイルと、プロセスの開始に使用される実行ファイルとの間に不一致を検出すると、GDB が反応するかを制御します。
Python API
-
gdb.register_window_type関数は、Python で新しい TUI ウィンドウを実装します。 -
動的タイプをクエリーできるようになりました。g
db.Typeクラスのインスタンスは、新しいブール値属性dynamicを指定でき、gdb.Type.sizeof属性には動的タイプの値Noneを指定できます。Type.fields()が動的タイプのフィールドを返す場合、そのbitpos属性の値はNoneになります。 -
新しい
gdb.COMMAND_TUI定数は、コマンドの TUI ヘルプクラスのメンバーとして Python コマンドを登録します。 -
新しい
gdb.PendingFrame.architecture()メソッドは、保留中のフレームのアーキテクチャーを取得します。 -
新しい
gdb.Architecture.registersメソッドは、gdb.RegisterDescriptorIteratorオブジェクトを返すgdb.RegisterDescriptorIterator オブジェクトを返します。このようなオブジェクトはレジスターの値を提供しませんが、アーキテクチャーで利用可能なレジスターを理解するのに役立ちます。 -
新しい
gdb.Architecture.register_groupsメソッドは、gdb.RegisterGroupIteratorオブジェクトを返すgdb.RegisterGroupIterator オブジェクトを返します。このようなオブジェクトは、どの登録グループがアーキテクチャーで利用可能なかを理解するのに役立ちます。