diff options
author | hjk <hjk@theqtcompany.com> | 2015-10-16 14:40:57 +0200 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2015-10-16 17:32:06 +0000 |
commit | dd8f370cfa996c8ebb42120f808bf89b402ed141 (patch) | |
tree | 0cf72b89de5cd3a891a6160e635048fe83f27771 /src/qml | |
parent | 6e1d9f9b96bf14213e74779f7611bad304b20ecd (diff) |
QmlDebug: Add a debug service for use with native debuggers
This service provides information about the state of the
most recently used QmlEngine in a way that can be integrated
with "native" debuggers (GDB, LLDB, potentially CDB).
Unlike the existing QV4 debugger service, the data extraction
is triggered by direct calls from the native debuggers, i.e.
has the examined QmlEngine stopped at the time of inspection.
Since roundtrips through the native debuggers are expensive,
an additional goal is to minimize roundtrips.
Change-Id: Ic420129bbc15162197e35b52d92e882c027c9f6d
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/debugger/qqmldebugserviceinterfaces.cpp | 1 | ||||
-rw-r--r-- | src/qml/debugger/qqmldebugserviceinterfaces_p.h | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/qml/debugger/qqmldebugserviceinterfaces.cpp b/src/qml/debugger/qqmldebugserviceinterfaces.cpp index 2bf9f2785c..199c682748 100644 --- a/src/qml/debugger/qqmldebugserviceinterfaces.cpp +++ b/src/qml/debugger/qqmldebugserviceinterfaces.cpp @@ -39,5 +39,6 @@ const QString QV4DebugService::s_key = QStringLiteral("V8Debugger"); const QString QQmlEngineDebugService::s_key = QStringLiteral("QmlDebugger"); const QString QQmlInspectorService::s_key = QStringLiteral("QmlInspector"); const QString QQmlProfilerService::s_key = QStringLiteral("CanvasFrameRate"); +const QString QQmlNativeDebugService::s_key = QStringLiteral("NativeQmlDebugger"); QT_END_NAMESPACE diff --git a/src/qml/debugger/qqmldebugserviceinterfaces_p.h b/src/qml/debugger/qqmldebugserviceinterfaces_p.h index a2ba670608..6391bc6218 100644 --- a/src/qml/debugger/qqmldebugserviceinterfaces_p.h +++ b/src/qml/debugger/qqmldebugserviceinterfaces_p.h @@ -127,6 +127,19 @@ protected: static const QString s_key; }; +class Q_QML_PRIVATE_EXPORT QQmlNativeDebugService : protected QQmlDebugService +{ + Q_OBJECT + +protected: + friend class QQmlDebugConnector; + + QQmlNativeDebugService(float version, QObject *parent = 0) + : QQmlDebugService(s_key, version, parent) {} + + static const QString s_key; +}; + QT_END_NAMESPACE #endif // QQMLDEBUGSERVICEINTERFACES_P_H |