このページでは

デバッグの開始

デバッガーの制御下で開いているプロジェクトから、以下の方法でアプリケーションを起動できます:

  • スタートアップ・プロジェクトのデバッグ開始 (Start Debugging of Startup Project) を選択します。
  • F5 を選択します。
  • ロケーターにdr と入力し、デバッグするプロジェクトを選択します。
  • Debug >Start Debugging >Start Debugging of Startup Project に進みます。

Qt Creator プロジェクト全体をビルドするようにBuild before deploying を設定した場合、または実行するアプリケーションを設定し、環境設定>Build & Run >GeneralAlways deploy before running を選択した場合、コンパイルされたアプリケーションが最新かどうかをチェックし、リビルドしてデプロイします。デプロイせずにアプリケーションをデバッグするには、Debug >Start Debugging >Start Debugging Without Deployment と進んでください。

デバッガが引き継ぎ、適切なパラメータを指定してアプリケーションを起動します。

デバッガを起動する前または後に、ブレークポイントを指定できます。詳細については、ブレークポイントの設定を参照してください。

GDBまたはCDBコマンドの実行

デバッグ・バックエンドとして GDB または CDB を使用する場合、[Preferences (環境設定)] > [Debugger ( )] > [GDBandCDB ( GDBandCDB)] で、バックエンドとデバッグ対象アプリケーションの起動前またはアタッチ後に実行する追加コマンドを指定できます。

デバッガーが起動時にユーザーのデフォルトの .gdbinit ファイルを読み込むようにするには、GDB 設定でLoad .gdbinit file on startup を選択します。

注: デバッガーの制御下で C++ アプリケーションを起動すると、長い時間がかかる ことがあります。通常、複雑な機能を使用すると、数秒から数分の範囲になります。

Python プロジェクトのデバッグ

Pythonプロジェクトの場合は、main.py ファイルのデバッグを開始します。問題が発生した場合は、キットセレクタでアクティブなビルドターゲットをチェックしてください。

Qt Creator しかし、GDB を Python インタプリタにアタッチして、対応する Python コードの C++ 実装をデバッグすることができます。詳細については、「Debugging PySide withQt Creator (Linux)」を参照してください。

コンソールアプリケーションのデバッグ

アプリケーションの操作にコンソールウィンドウが必要な場合(たとえば、ユーザーからのコンソール入力を受け付けるため)、Projects >Run Settings に移動し、Run in terminal チェックボックスを選択します。

コンソール・アプリケーションが設定されたコンソールで正しく起動せず、その後のアタッチに失敗する場合は、ネイティブCDBコンソールを使用して問題を診断できます。環境設定>Debugger >CDB >Use CDB console に進み、Windowsシステム環境変数で設定されているコンソールを上書きします。ネイティブコンソールはアプリケーションの終了時にプロンプトを表示しないことに注意してください。

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.