Qt アプリケーションのデバッグ
実行中のアプリケーションが終了する前に中断したり、アプリケーションが正しく動作しない原因を突き止めたりすることができます。変数の調査や変更、新しいブレークポイントの設定、古いブレークポイントの削除のために、ブレークポイントを設定してアプリケーションを停止し、アプリケーションの実行を継続します。
アプリケーションが停止すると、デバッガで特定のデータを調べることができます。データが利用できるかどうかは、アプリケーションをコンパイルする際のコンパイラの設定と、アプリケーションが停止する正確な場所に依存します。コードをステップ実行して変数の変化を調べるには、VS Code の標準関数を使用します。
詳細については、VS Codeを参照してください:詳しくは、VS Code のドキュメントの VS Code:Debuggingを参照してください。
デバッグ用にプロジェクトを設定する
アプリケーションに Qt デバッグ設定を追加するには、以下の手順に従います:
- Run and Debug (Ctrl+Shift+D、macOS ではCmd+Shift+D)にアクセスします。

- 起動コンフィギュレーションを含むlaunch.jsonファイルを作成します (1)。
- Add Configuration (2)を選択し、デバッガーにマッチするQt: Debug デバッグ・コンフィギュレーションを選択します。
- 起動ターゲットを確認します(3)。変更するには、ターゲット名を選択するか、Command Palette にアクセスしてCMake: Set Launch/Debug Target を選択します。
ソースコードのデバッグ
Qt のソースコードをデバッグすることもできます。ただし、vcpkg を使って Qt をインストールした場合、Qt Extension for VS Code はソースコードを見つけることができず、警告が表示されます。警告を無効にするには
- Command Palette に移動し、Open Qt settings を選択します。
- Qt C++ Configuration を選択し、Do Not Warn Missing Source Dir を選択します。
Qt デバッグ設定
以下の Qt デバッグ構成のいずれかを選択してください:
- Qt: Debug with cppdbg C/C++ アプリケーションを GDB でデバッグする場合。
- Qt: Debug with cppvsdbg (Windows) Visual Studio Windows デバッガで C/C++ アプリケーションをデバッグする場合。
- Qt: QML: Attach by port 実行中のアプリケーションに QML デバッガをアタッチして QML コードをデバッグする。
- Qt: QML: Launch アプリケーションを最初に起動し、QML デバッガーをアタッチして QML コードをデバッグする。
- Qt: Debug with cppdbg and QML debugger C/C++ コードを含むQt Quick アプリケーションを GDB と QML デバッガでデバッグする。
- Qt: Debug with cppvsdbg and QML debugger (Windows) Visual Studio Windows デバッガーと QML デバッガーを使用した、C/C++ コードを含むQt Quick アプリケーションのデバッグ。
- Qt: PySide: Launch
debugpyを使用した アプリケーションのデバッグ。Qt for Python - Qt: PySide: Launch with QML Debugger Qt for Python および QML アプリケーションのデバッグには、 および QML デバッガを使用します。
debugpy - Qt: Debug with lldb LLDB を使用したデバッグ
- Qt: Debug Qt WASM with Chrome Chrome を使用した Qt WebAssembly アプリケーションのデバッグ。
Qt Quick アプリケーションのデバッグ]、[ Qt for Python アプリケーションのデバッグ]、[Qt WebAssembly アプリケーションのデバッグ]、およびVS Codeも参照してください :デバッグ」を参照してください。
© 2024 The Qt Company Ltd. 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.