一般設定
すべてのデバッガーに共通する一般的な環境設定を行うには、[環境設定] > [Debugger ] > [General] に進みます。

デバッグ ビューの外観や動作をカスタマイズしたり、ブレークポイントを設定したり、ソース パスをターゲット パスにマップしたりできます。
デバッグ出力は、[Debugger Log] ビューで表示できます。しかし、Arch Linux のようないくつかの Linux ディストリビューションでは、デバッグ出力はシステムログに送られます。この動作をオーバーライドするには、Force logging to console を選択します。これにより、デバッグ対象のアプリケーションの環境にQT_LOGGING_TO_CONSOLE=1 が設定され、デバッグ出力がシステムログに保存されるのを効果的に防ぐことができます。
ブレークポイント
ブレークポイントで完全な絶対パスを使用するには、Set breakpoints using a full absolute path を選択します。
GDB と CDB では、コードが生成されていないソース行にブレークポイントを設定できます。このような状況では、ブレークポイントは実際にコードが生成された次のソース・コード行に移動します。ソース・コード・エディターでブレークポイント・マーカーを移動してこのような一時的な変更を反映するには、GDB >Adjust breakpoint locations またはCDB >Correct breakpoint location を選択します。
バックエンドとして GDB を使用する場合、Python を使用して通常の GDB ブレークポイント・クラスを拡張できます。GDB >Use pseudo message tracepoints を選択してください。
CDB をバックエンドとして使用する場合、CDB >Break on で環境設定を選択することで、C++ の例外、スレッドの作成または終了、アプリケーション・モジュールのロードまたはアンロード、特定の出力など、特定のイベントでデバッガがブレークするように指定できます。アクセス違反例外のファーストチャンス ブレークを無効にするには、Ignore first chance access violations を選択します。アクセス違反が 2 回目に発生すると、デバッガーにブレークします。
エラーや警告メッセージを捕捉するために、いくつかの関数にブレークポイントを自動的に追加することができます。詳細については、CDBと GDBを参照してください。
ブレークポイントの詳細については、GDB ドキュメントのBreakpoints, Watchpoints, and Catchpointsを参照してください。
ソース・パスのマッピング
ライブラリーがビルドされた場所とは異なる場所にあるソース・ツリーのコピーを使用しているときに、デバッガーがコードに踏み込んでソース・コードを表示できるようにするには、ソース・パスをターゲット・パスにマッピングします。
パッチが適用されていない Qt バージョンにソース パスを自動的にマップするには、Add Qt Sources を選択し、Qt ソース ファイルの場所をブラウズします。
ソース・パスをターゲット・パスに手動でマッピングするには、以下の手順に従います:
- Source Paths Mapping で、Add を選択して、パス リストにエントリを追加します。
- Source path で、デバッガが報告する実行可能ファイルのデバッグ情報のソース・パスを指定します。
- Target path で、ローカル・マシン上のソース・ツリーの実際の場所を指定します。
How To: デバッグ]、[デバッグ]、[デバッガ]、および [デバッガ]も参照してください 。
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.