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()) |
詳細な説明
通常、アプリケーションのビルド時に、CMake 経由で `QT_ENABLE_QML_DEBUG ` を指定するか、qmake 経由で `CONFIG+=qml_debug ` を指定することで、QML のデバッグおよびプロファイリングが有効になります。実行時には、アプリケーションが `-qmljsdebugger ` コマンドライン引数を解析し、実際にデバッグまたはプロファイリングを開始します。
代わりに、このクラスのメソッドを使用して、これらのタスクを手動で処理することもできます。
メンバ型のドキュメント
enum QQmlDebuggingEnabler::StartMode
デバッグコネクタの起動時の動作を定義します。デバッグクライアントが接続中の間にQMLエンジンの起動を中断し、起動コードにブレークポイントを設定したり、プロファイリングを行ったりすることができます。
| 定数 | 値 | 説明 |
|---|---|---|
QQmlDebuggingEnabler::DoNotWaitForClient | 0 | デバッグサービスが接続中の間、QMLエンジンを通常通り実行します。 |
QQmlDebuggingEnabler::WaitForClient | 1 | デバッグサービスの接続中に QML エンジンが起動した場合は、接続が完了するまでそのエンジンの実行を中断します。 |
メンバ関数のドキュメント
[static] bool QQmlDebuggingEnabler::connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient)
この関数を呼び出した後に作成されるQMLエンジンのデバッグを有効にします。mode がWaitForClient の場合、デバッグコネクタは指定されたsocketFileName でローカルソケットを待機しているデバッガに接続し、接続が確立されるまでQMLエンジンをブロックします。mode が指定されていない場合は、ブロックされません。一度に起動できるデバッグコネクタは1つだけです。 -qmljsdebugger= コマンドライン引数が指定されている場合、デバッグコネクタがすでに起動されている可能性があります。このメソッドは、新しいデバッグコネクタの起動に成功した場合はtrue を返し、それ以外の場合はfalse を返します。
[static] QStringList QQmlDebuggingEnabler::debuggerServices()
デフォルトで提供されるデバッガサービスのプラグインキーを取得します。デバッガサービスにより、デバッグクライアントはQml/JavaScriptデバッガを使用して、ブレークポイントの設定、実行の一時停止、式の評価、およびその他の同様のデバッグ作業を行うことができます。デフォルトのデバッガサービスのプラグインキーのリストを返します。
[static] void QQmlDebuggingEnabler::enableDebugging(bool printWarning)
デバッグまたはプロファイリングを有効にします。printWarning がtrue の場合、stderrに以下の警告を出力します:
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()
デフォルトで提供されるプロファイラ・サービスの名前を取得します。プロファイラ・サービスにより、デバッグ・クライアントはプロファイラを使用して、さまざまな QML および JavaScript の構文、ならびにQtQuick の SceneGraph による処理時間を追跡できるようになります。デフォルトのプロファイラ・サービスのプラグイン・キーのリストを返します。
[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 エンジンのデバッグを有効にします。mode が `WaitForClient` に設定されている場合、デバッグコネクタは `port ` の `hostName ` でリスニングを行い、接続を受け取るまで 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.