QQmlDebuggingEnabler Struct
QQmlDebuggingEnabler クラスは、デバッグやプロファイリングを有効にするメソッドを提供します。さらに...
| ヘッダ | #include <QQmlDebuggingEnabler> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml)target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
パブリックタイプ
| enum | StartMode { DoNotWaitForClient, WaitForClient } |
静的パブリックメンバー
| bool | connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient) |
| QStringList | debuggerServices() |
| void | enableDebugging(bool printWarning) |
| QStringList | inspectorServices() |
| QStringList | nativeDebuggerServices() |
| QStringList | profilerServices() |
| void | setServices(const QStringList &services) |
| bool | startDebugConnector(const QString &pluginName, const QVariantHash &configuration = QVariantHash()) |
| bool | startTcpDebugServer(int port, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient, const QString &hostName = QString()) |
詳細な説明
通常、QMLのデバッグやプロファイリングは、アプリケーションのビルド時に CMake経由でQT_ENABLE_QML_DEBUG 、qmake経由でCONFIG+=qml_debug 。実行時、アプリケーションは-qmljsdebugger のコマンドライン引数を解析し、デバッグやプロファイリングを開始します。
代わりに、このクラスのメソッドを使用することで、これらのタスクを手動で処理することができます。
メンバー型ドキュメント
enum QQmlDebuggingEnabler::StartMode
デバッグコネクタの起動時の動作を定義します。デバッグクライアント接続中に QML エンジンの起動を中断し、起動コードにブレークポイントを設定したり、プロファイルを設定したりすることができます。
| 定数 | 値 | 説明 |
|---|---|---|
QQmlDebuggingEnabler::DoNotWaitForClient | 0 | デバッグサービス接続中に通常通り QML エンジンを実行します。 |
QQmlDebuggingEnabler::WaitForClient | 1 | デバッグサービス接続中に QML エンジンが起動した場合、デバッグサービスが終了するまで QML エンジンを中断する。 |
メンバー関数ドキュメント
[static] bool QQmlDebuggingEnabler::connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient)
この関数を呼び出した後に生成されたQMLエンジンのデバッグを有効にする。デバッグコネクタは、与えられたsocketFileName のローカルソケットで待機しているデバッガに接続し、mode がWaitForClient の場合は接続が確立するまで QML エンジンをブロックします。mode が指定されていない場合はブロックしません。一度に起動できるデバッグコネクタは 1 つだけです。コマンドライン引数 -qmljsdebugger= が指定されている場合、デバッグ コネクタはすでに起動されている可能性があります。このメソッドは、新しいデバッグ・コネクターが正常に起動された場合はtrue を返し、そうでない場合はfalse を返します。
[static] QStringList QQmlDebuggingEnabler::debuggerServices()
デフォルトで提供されているデバッガサービスのプラグインキーを取得します。デバッガサービスを使うと、デバッグクライアントが Qml/JavaScript デバッガを使うことができるようになり、 ブレークポイントの設定や実行の一時停止、式の評価などのデバッグ作業ができるようになります。戻り値 デフォルトのデバッガサービスのプラグインキーのリスト。
[static] void QQmlDebuggingEnabler::enableDebugging(bool printWarning)
デバッグまたはプロファイリングを有効にする。printWarning がtrue の場合、以下の警告を標準エラー出力に出力する:
QML debugging is enabled. Only use this in a safe environment.
このメソッドは、ビルド時にQT_ENABLE_QML_DEBUG またはCONFIG+=qml_debug が渡されると、起動時に自動的に呼び出されます。
このメソッドは、何らかの方法でデバッグ・コネクタを起動する前に呼び出す必要があります。さもないと、コネクタは起動を拒否する。
startTcpDebugServer(),connectToLocalDebugger(),startDebugConnector()も参照 。
[static] QStringList QQmlDebuggingEnabler::inspectorServices()
デフォルトで提供されているインスペクター・サービスのプラグイン・キーを取得します。インスペクタサービスは、デバッグクライアントがQt Quick でビジュアルインスペクタツールを使えるようにします。デフォルトのインスペクタサービスのプラグインキーのリストを返します。
[static] QStringList QQmlDebuggingEnabler::nativeDebuggerServices()
ネイティブ・デバッガーで使用するように設計されたデバッグ・サービスのプラグイン・キーを取得します。ネイティブデバッガーは、アプリケーションのメモリーを直接読み書きすることで、これらのサービスと通信します。戻り値 ネイティブ・デバッガーで使用するように設計されたデバッグ・サービスのプラグイン・キーのリスト。
[static] QStringList QQmlDebuggingEnabler::profilerServices()
デフォルトで提供されるプロファイラサービスの名前を取得します。プロファイラサービスは、デバッグクライアントがプロファイラを使用し、QtQuick SceneGraph と同様に、様々な QML や JavaScript コンストラクトでかかった時間を追跡することを可能にします。戻り値 デフォルトのプロファイラサービスのプラグインキーのリスト。
[static] void QQmlDebuggingEnabler::setServices(const QStringList &services)
デバッグ・コネクタから利用可能なサービスを制限します。コネクタは、デフォルトのプラグインパスの "qmltooling" サブディレクトリ内のプラグインをスキャンする。デバッグコネクタが有効化される前にこの関数が呼び出されなかった場合、その方法で見つかったすべてのサービスがどのクライアントでも利用可能になる。この関数が呼び出されると、services で指定されたプラグイン・キーを持つサービスだけが利用可能になります。
このメソッドを使用して、プロファイリング時にデバッガとインスペクタのサービスを無効にすると、パフォーマンスが向上し、より現実的なプロファイルが得られます。デバッガサービスは、接続する JavaScript エンジンをインタープリタモードにし、JIT コンパイラを無効にします。
debuggerServices(),profilerServices(),inspectorServices()も参照してください 。
[static] bool QQmlDebuggingEnabler::startDebugConnector(const QString &pluginName, const QVariantHash &configuration = QVariantHash())
この関数を呼び出した後に作成されたQMLエンジンのデバッグを有効にする。pluginName で指定されたデバッグコネクタプラグインがロードされ、指定されたconfiguration を使って起動されます。サポートされる設定項目とそのセマンティクスは、ロードされるプラグインに依存します。一度に起動できるデバッグ・コネクターは 1 つだけです。コマンドライン引数 -qmljsdebugger= が指定されている場合、デバッグ・コネクターは既に起動されている可能性があります。このメソッドは、新しいデバッグ・コネクターが正常に起動された場合はtrue を返し、そうでない場合はfalse を返します。
[static] bool QQmlDebuggingEnabler::startTcpDebugServer(int port, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient, const QString &hostName = QString())
この関数を呼び出した後に作成された QML エンジンのデバッグを有効にする。デバッグコネクタはhostName でport をリッスンし、mode がWaitForClient ならば接続があるまで QML エンジンをブロックします。mode が指定されなければブロックせず、hostName が指定されなければ利用可能なすべてのインターフェースをリッスンします。一度に起動できるデバッグコネクタは 1 つだけです。コマンドライン引数 -qmljsdebugger= が指定されている場合、デバッグ・コネクターは既に起動されている可能性があります。このメソッドは、新しいデバッグ・コネクタが正常に開始された場合はtrue を返し、そうでない場合はfalse を返す。
© 2026 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.