Visual Studio Code 用 Qt Qml Extension の次期 1.5.0 プレリリース において、QML 開発ワークフローに大きな進歩をもたらす機能を発表いたします。このリリースでは、VS Code における QML デバッグの初期サポート が導入されました。これは、軽量でクロスプラットフォームのツールを使用する QML 開発者にとって、長年の要望であった機能が日常的な使用に近づいたことを意味します。
このQMLデバッグサポートの初期リリースでは、以下の機能が利用可能になりました。
続行ステップオーバーステップインステップアウトまず、Qt Extension for VS Code がインストールされており、Qt Qml 拡張機能のバージョンが 1.5.x 以上であることを確認してください。
インストール方法:
Ctrl+Shift+X または ⇧⌘X)。🧪 これにより、1.5.0 で導入された QML デバッグ機能にアクセスできるようになります。
QML デバッグを有効にするには、実行中の QML デバッグサーバーに接続するデバッグ構成が必要です。
Ctrl+Shift+D)を開きます。
これにより、.vscode/launch.json ファイルに以下の設定が生成されます。
上記の設定を .vscode/launch.json に手動で貼り付けることもできます。
アプリケーションを起動する際に使用するポートとホストが一致していることを確認してください。
VS Code で以下の項目を選択します。
F5キーを押すか、デバッグの開始 をクリックします。デバッガーが待機中であることを示す次のようなメッセージが表示されます:
コマンドラインから、次の引数を使用して Qt アプリケーションを起動します。
<;your-qt-app>; -qmljsdebugger=host:127.0.0.1,port:12150,block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector
host:127.0.0.1→ ローカルホストにバインドしますport:12150→ launch.json と一致する必要がありますblock→ デバッガーが起動するまで待機します。services→ 強力なデバッグ機能を有効にします。
V8DebuggerQmlInspector起動すると、アプリは VS Code で待機しているデバッガーに接続し、実行を再開します。
QML コードと C++ コードの両方をデバッグしたい場合は、こちらのドキュメントをご覧ください。
QMLアプリケーションで問題が発生した場合、その原因となった関数呼び出しのシーケンスを理解することが重要です。この機能ではQMLコールスタックを表示することで、開発者は予期しない動作の原因を迅速に特定し、コンテキストを理解し、より適切なデバッグ判断を行うことができます。
QML デバッガーでは、コールスタックビューで QML スタックフレームを直接確認できます。アクティブな QML 関数の構造化された概要が表示され、実行フローを追跡し、アプリケーションが現在の状態に達した経緯を分析できます。
効率的なデバッグには、コード内の問題の発生場所を迅速に特定することが重要です。この機能は、実行時情報とソースファイルの間の情報を橋渡しし、スタックトレースから関連するファイルと行に直接移動できるようにします。
デバッガーを使用すると、エディター内でファイルと行に基づくソース位置を表示できます。各スタックフレームには正確な位置メタデータが含まれており、フレームをクリックすると、対応するファイルと行がエディターで開かれ、コード内をスムーズかつ迅速に移動できます。
デバッグは、アプリケーションの動作をステップごとに観察することが多くあります。この機能により、実行フローを完全に制御でき、いつでも一時停止して何が起こっているかを調査し、1 ステップずつ実行を継続して問題を理解または特定できます。
デバッガーは、続行、ステップオーバー、ステップイン、ステップアウトのアクションをサポートしています。これらのコマンドを使用すると、実行を再開したり、関数をスキップしたり、関数内に移動したり、以前のコンテキストに戻ったりできます。これらはすべて、QML コードの実行時動作を正確に調査するのに役立ちます。
バグや使いやすさに関する問題が発生した場合は、バグトラッカーまでご報告ください。