A.3. GDB の変更点

Red Hat Developer Toolset 12.1 には GDB 11.2 が同梱されています。

以下の機能は、Red Hat Developer Toolset の以前のリリース以降に追加または変更されています。

新機能

  • Aarch64 MTE の新しいサポート。"memory-tag" プレフィックスが付いた新しいコマンドを参照してください。
  • -break-insert および -dprintf-insert--qualified オプション。このオプションは、全スコープで検索するのではなく、ユーザーのイベントの場所と完全に一致するものを探します。

    たとえば、break --qualified foo は、グローバルスコープで foo という名前のシンボルを探します。--qualified を指定しないと、GDB はすべてのスコープでその名前のシンボルを検索します。

  • --force-condition: 現在無効になっていても、指定された条件が定義されます。
  • -break-condition --force: MI コマンドと同様。
  • -file-list-exec-source-files は、出力を制限するオプションの REGEXP を受け入れます。
  • .gdbinit 検索パスには config ディレクトリーが含まれます。順序は次のとおりです。

    1. $XDG_CONFIG_HOME/gdb/gdbinit
    2. $HOME/.config/gdb/gdbinit
    3. $HOME/.gdbinit.
  • ~/.config/gdb/gdbearlyinit または ~/.gdbearlyinit のサポート。
  • -eix および -eiex 早期初期化ファイルオプション。

ターミナルユーザーインターフェイス (TUI)

  • ターミナルユーザーインターフェイス (TUI) ウィンドウ内でのマウス操作がサポートされます。
  • フォーカスされたウィンドウで機能しないキーの組み合わせが GDB に渡されるようになりました。

新規コマンドおよび改善されたコマンド

  • 新しい show print memory-tag-violations コマンド。
  • 新しい set print memory-tag-violations コマンド。
  • 新しい memory-tag show-logical-tag コマンド。
  • 新しい memory-tag with-logical-tag コマンド。
  • 新しい memory-tag show-allocation-tag コマンド。
  • 新しい memory-tag check コマンド。
  • 新しい show startup-quietly および set startup-quietly コマンド: GDB スクリプトで -q または -quiet を指定する方法。早期初期化ファイルでのみ有効です。
  • 新しい show print type hex および set print type hex コマンド: 構造体メンバーのサイズまたはオフセットを 10 進数ではなく 16 進数で出力するように GDB に指示します。
  • 新しい show python ignore-environment コマンドと set python ignore-environment コマンド: 有効にすると、GDB の Python インタープリターは、Python 実行可能ファイルに -E を渡すのと同じように、Python 環境変数を無視します。早期初期化ファイルでのみ有効です。
  • 新しい show python dont-write-bytecode コマンドと set python dont-write-bytecode コマンド: 'off' の場合、これらのコマンドは、Python 実行可能ファイルに -B を渡すのと同様に、GDB の Python インタープリターがインポートされたモジュールのバイトコードコンパイル済みオブジェクトを書き込むことを抑制します。早期初期化ファイルでのみ有効です。
  • break LOCATION if CONDITION: CONDITION が無効な場合、GDB はブレークポイントの設定を拒否します。-force-condition オプションはこれをオーバーライドします。
  • CONDITION -force N COND: 前のコマンドと同じ。
  • Inferior ID: ID が省略されている場合、このコマンドは現在の下位関連情報を出力します。それ以外の場合は、変更されません。
  • ptype[/FLAGS] TYPE | EXPRESSION: '/x' フラグを使用して、struct メンバーのサイズとオフセットを出力するときに 16 進法での表記を使用します。'/d' フラグを使用して同じことを行いますが、10 進法を使用します。
  • info sources: 出力が再構築されました。

Python API

  • 下位オブジェクトには、読み取り専用の connection_num 属性が含まれています。
  • 新しい gdb.Frame.level() メソッド。
  • 新しい gdb.PendingFrame.level() メソッド。
  • gdb.Stop の代わりに gdb.BreakpoiontEvent が出力されます。