aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2015-10-16 14:40:57 +0200
committerhjk <hjk@theqtcompany.com>2015-10-16 17:32:06 +0000
commitdd8f370cfa996c8ebb42120f808bf89b402ed141 (patch)
tree0cf72b89de5cd3a891a6160e635048fe83f27771 /src/qml/debugger
parent6e1d9f9b96bf14213e74779f7611bad304b20ecd (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/debugger')
-rw-r--r--src/qml/debugger/qqmldebugserviceinterfaces.cpp1
-rw-r--r--src/qml/debugger/qqmldebugserviceinterfaces_p.h13
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