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.RegisterDescriptor
Iterator オブジェクトを返します。このようなオブジェクトはレジスターの値を提供しませんが、アーキテクチャーで利用可能なレジスターを理解するのに役立ちます。 -
新しい
gdb.Architecture.register_groups
メソッドは、gdb.RegisterGroupIterator
オブジェクトを返すgdb.RegisterGroup
Iterator オブジェクトを返します。このようなオブジェクトは、どの登録グループがアーキテクチャーで利用可能なかを理解するのに役立ちます。