diff options
author | hjk <hjk@qt.io> | 2023-01-03 15:12:43 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-04-06 13:04:43 +0000 |
commit | 46b9cd952a93b98335dfb5761025d7ca27f40d44 (patch) | |
tree | d03843214fd2ba2e7118c11019bd7aa13c9f539f /src/plugins/debugger/debuggeritem.cpp | |
parent | 45c2e3fe58fd9b5a85450ff18e0a40e701ebf8d6 (diff) |
Debugger: Add skeleton for a debugger adapter protocol using engine
- Support the launch of an application
- Support continue/pause an application
- Support add breakpoint only after an app is launched
(I.e. preset breakpoints won't work)
- Support stop the debug session
- "Remove one break breakpoint" works but removes all breakpoints
ToDo:
- Polish the transition between stages
- Fix breakpoints handling
- Add support "Step in", "Step out" and "Step Over"
Task-number: QTCREATORBUG-27279
Change-Id: I5c32ce713f5a0f19cc3b9d995cbbadd8adf6a413
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/debugger/debuggeritem.cpp')
-rw-r--r-- | src/plugins/debugger/debuggeritem.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/debugger/debuggeritem.cpp b/src/plugins/debugger/debuggeritem.cpp index 0769d293dee..a6daacd16d3 100644 --- a/src/plugins/debugger/debuggeritem.cpp +++ b/src/plugins/debugger/debuggeritem.cpp @@ -174,8 +174,12 @@ void DebuggerItem::reinitializeFromFile(QString *error, Utils::Environment *cust return; } m_abis.clear(); + if (output.contains("gdb")) { m_engineType = GdbEngineType; + // FIXME: HACK while introducing DAP support + if (m_command.fileName().endsWith("-dap")) + m_engineType = DapEngineType; // Version bool isMacGdb, isQnxGdb; @@ -211,6 +215,7 @@ void DebuggerItem::reinitializeFromFile(QString *error, Utils::Environment *cust //! \note If unable to determine the GDB ABI, no ABI is appended to m_abis here. return; } + if (output.contains("lldb") || output.startsWith("LLDB")) { m_engineType = LldbEngineType; m_abis = Abi::abisOfBinary(m_command); @@ -278,6 +283,8 @@ QString DebuggerItem::engineTypeName() const return QLatin1String("CDB"); case LldbEngineType: return QLatin1String("LLDB"); + case DapEngineType: + return QLatin1String("DAP"); case UvscEngineType: return QLatin1String("UVSC"); default: |