A.2. GDB の変更点
Red Hat Developer Toolset 9.0 には GDB 8.3 が同梱されています。
以下の機能は、Red Hat Developer Toolset の以前のリリース以降に追加または変更されています。
一般的な改善
-
GDB および GDBserver は、IBM POWER システム (
PPR
、DSCR
、TAR
、EBB/PMU
、HTM
レジスター) にアクセスできるようになりました。 -
GDB および GDBserver が IPv6 接続に対応するようになりました。
[ADDRESS]:PORT
表記法または通常のADDRESS:PORT
方法で IPv6 アドレスを渡します。 - バッチモードの GDB は、最後に実行されたコマンドが失敗すると、ステータス 1 で終了するようになりました。
- 端末のスタイリングが CLI および TUI で利用可能になりました。styling コマンドの一覧は、GDB ユーザーマニュアルのOutput Styling セクション を参照してください。GNU Source Highlight プログラムは、ソースコードのスタイリングにも使用することができます。
新しいコマンド
frame apply [all | COUNT | -COUNT | level LEVEL…] [FLAG]… COMMAND
- 一部のフレームにのみ適用されます。
-
FLAG
引数を使用して必要な出力を選択し、フレームへのCOMMAND
の適用時に発生する可能性のあるエラーを処理するメソッドを設定します。
taas COMMAND
構文は、thread apply all -s COMMAND
の短いバージョンです。- エラーのあるスレッドおよび空の出力を含むすべてのスレッドに適用されます。
faas COMMAND
構文は、frame apply all -s COMMAND
の短いバージョンです。- エラーのあるフレームと空の出力を含むすべてのフレームに適用されます。
tfaas COMMAND
構文は、thread apply all -s frame apply all -s COMMAND.
の短いバージョンです。- エラーのあるフレームやスレッド、および空の出力を含む、すべてのスレッドのすべてのフレームに適用されます。
変更したコマンド
frame
、select-frame
、およびinfo frame
CLI コマンドに対する変更:- これらのコマンドは、フレーム指定を受け入れるようになりました。フレームレベル、またはキーワードレベル、アドレス、関数、または ビュー の後にパラメーターを指定できます。
- アドレスでフレームを選択する場合や、現在のバックトレース外にあるフレームを表示するにはキーワードが必要です。
- レベルによるフレームの選択は変更されません。
-
MI コメント
-stack-select-frame
は変更されません。
target remote FILENAME
およびtarget extended-remote FILENAME
-
FILENAME
が Unix ドメインソケットの場合は、GDB はこのソケットへの接続を試み、FILENAME
はキャラクターデバイスとして開かれません。
-
info args [-q] [-t TYPEREGEXP] [NAMEREGEXP]
info functions [-q] [-t TYPEREGEXP] [NAMEREGEXP]
info locals [-q] [-t TYPEREGEXP] [NAMEREGEXP]
info variables [-q] [-t TYPEREGEXP] [NAMEREGEXP]
上記の 4 つのコマンドには、新しい
[-t TYPEREGEXP]
フラグが含まれるようになりました。TYPEREGEXP
と一致するエンティティーをタイプに返します。[-q]
フラグは、印刷ヘッダーまたは情報メッセージを無効にします。info functions
info types
info variables
rbreak
上記の 4 つのコマンドで、
set language
オプションで選択した言語に基づいてエンティティーの構文を判断するようになりました。set language auto
オプションは、表示されるエンティティーの言語を自動的に選択します。thread apply [all | COUNT | -COUNT] [FLAG]… COMMAND
-
新しい
[FLAG]
引数が追加されます。[FLAG]
引数を使用して必要な出力を選択し、フレームへのCOMMAND
の適用時に取得できるエラーを処理するメソッドを設定します。
-
新しい
Python API
-
gdb.Inferior
タイプに新しいprogspace
プロパティーが追加されます。これは、下位に関連付けられたプログラム空間です。 -
新しい
objfiles
メソッドがgdb.Progspace
タイプに追加されます。これは、そのプログラム空間に関連するobjfiles
の一覧を返します。 -
新しいコンストラクターが
gdb.Value
タイプに追加されています。これは、Python バッファーオブジェクトおよびgdb.Type
からgdb.Value
を構築するために使用されます。 -
GDB コアへの変更を反映するために、以下の新しいドメインが追加されました (
gdb.SYMBOL_LOC_COMMON_BLOCK
gdb.SYMBOL_MODULE_DOMAIN
、およびgdb.SYMBOL_COMMON_BLOCK_DOMAIN
)。