GDB
GDB プロセスの管理に関する設定を指定するには、Preferences >Debugger >GDB の順に移動します。

以下の表に設定の概要を示します。
| 設定 | 値 |
|---|---|
| GDB timeout | 応答のない GDB プロセスを終了させるまでのタイムアウト(秒単位)。デフォルト値の 40 秒は、ほとんどのアプリケーションで十分ですが、低速なマシンで大きなライブラリの読み込みやソースファイルのリスト表示にそれ以上の時間がかかる場合は、この値を増やしてください。 |
| Skip known frames when stepping | コードをステップインする際に、ノイズの少ないデバッグを行うために、複数のステップを 1 つのステップに圧縮します。たとえば、アトミック参照カウントのコードはスキップされ、シグナル発生に対する 1 回の「ステップイン」で、そのシグナルに関連付けられたスロットに直接移動することになります。 |
| Show a message box when receiving a signal | デバッグ中にアプリケーションが SIGSEGV などのシグナルを受信するとすぐに、メッセージボックスを表示します。 |
| Adjust breakpoint locations | GDB では、コードが生成されていないソース行にブレークポイントを設定することができます。そのような場合、ブレークポイントは、実際にコードが生成された次のソースコード行にシフトされます。ソースコードエディタでブレークポイントマーカーを移動して、このような一時的な変更を反映させるには、このチェックボックスを選択してください。 |
| Use dynamic object type for display | オブジェクトの動的型と静的型のどちらを表示するかを指定します。動的型を選択すると、デバッグ速度が低下する可能性があります。 |
| Load .gdbinit file on startup | デバッガの起動時に、ユーザーのデフォルトの .gdbinit ファイルを読み込みます。 |
| Load system GDB pretty printers | コンピュータにインストールされている、またはアプリケーションが使用するライブラリにリンクされているデフォルトの GDB プリティプリンタを使用します。 |
| Use Intel style disassembly | デフォルトの AT&T スタイルの逆アセンブル表示から、Intel スタイルに切り替えます。 |
| Use automatic symbol cache | GDB シンボルインデックスのコピーをディスク上のキャッシュに自動的に保存し、将来同じバイナリを読み込む際にそこから取得します。 |
| Use debug info daemon | システムパッケージのデバッグ情報を自動的に取得しようとします。 |
追加コマンドの実行
GDB の起動後、デバッグ対象のアプリケーションが起動またはアタッチされる前、およびデバッグヘルパーが初期化される前に GDB コマンドを実行するには、Additional Startup Commands にコマンドを入力します。
GDB がリモートターゲットへのアタッチに成功した後に GDB コマンドを実行するには、Additional Attach Commands の後にコマンドを入力します。ここでは、monitor reset やload など、ターゲットをさらに設定するためのコマンドを追加できます。
単純なPythonコマンドを実行するには、コマンドの先頭にpython を付けます。複数行にわたるPythonコマンドのシーケンスを実行するには、ブロックの先頭に別の行でpython を、末尾に別の行でend を記述します。任意のPythonスクリプトを実行するには、python execfile('/path/to/script.py') を使用します。
GDBの拡張設定
「Extended 」グループの設定では、GDB の高度な機能や実験的な機能にアクセスできます。これらを有効にすると、デバッグ作業に悪影響を及ぼす可能性があるため、使用には注意が必要です。
| 設定項目 | 値 |
|---|---|
| Use asynchronous mode to control the debugged process | コマンドをバックグラウンド(非同期)モードで実行します。GDB は直ちにコマンドプロンプトを開き、プログラムの実行中に他のコマンドを発行できるようになります。 |
| Use common locations for debug information | GDBの起動時に、/usr/src/debug など、デバッグ情報の保存場所への一般的なパスを追加します。 |
| Stop when qWarning() is called | 各qWarning() 関数にブレークポイントを追加します。 |
| Stop when qFatal() is called | 各qFatal() 関数にブレークポイントを追加します。 |
| Stop when abort() is called | 各abort() 関数にブレークポイントを追加します。 |
| Enable reverse debugging | 後方ステップを有効にします。この機能は GDB 側では非常に遅く、不安定です。システムコールを後方ステップする際に予期しない動作を示し、デバッグセッションが破壊される可能性が非常に高くなります。 |
| Debug all child processes | fork 実行後もすべての子プロセスのデバッグを継続します。 |
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.