From 8541650096216aa72bd90d94c26182351a83f311 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 9 Jul 2020 11:19:57 +0200 Subject: [PATCH] Debugger: disable load qml stack action for cdb Since collecting the qml stack relies on calling functions it has a high risk of getting stuck in that call at least with Qt 5.15. Never the less I added the correct function in the cdbextension so when the action get's re-enabled in the future we already start with an updated extension. Task-number: QTCREATORBUG-22209 Change-Id: I535f8db5a64ae48b4163d9b67e133cc3de338432 Reviewed-by: Christian Stenger --- src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp | 2 +- src/plugins/debugger/cdb/cdbengine.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp b/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp index f60ad90cc95..e9bdd5af927 100644 --- a/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp +++ b/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp @@ -1250,7 +1250,7 @@ extern "C" HRESULT CALLBACK qmlstack(CIDebugClient *client, PCSTR argsIn) // the start assuming this is invoked for crashed applications. std::ostringstream callStr; const QtInfo &qtInfo = QtInfo::get(SymbolGroupValueContext(exc.dataSpaces(), exc.symbols())); - callStr << qtInfo.prependQtModule("qt_v4StackTrace(", QtInfo::Qml) << std::showbase << std::hex + callStr << qtInfo.prependQtModule("qt_v4StackTraceForEngine(", QtInfo::Qml) << std::showbase << std::hex << jsExecutionEngine << std::dec << std::noshowbase << ')'; std::wstring wOutput; if (!ExtensionContext::instance().call(callStr.str(), ExtensionContext::CallWithExceptionsHandled, &wOutput, &errorMessage)) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 472f8597d36..0472c3617de 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -730,8 +730,7 @@ bool CdbEngine::hasCapability(unsigned cap) const | CreateFullBacktraceCapability | OperateByInstructionCapability | RunToLineCapability - | MemoryAddressCapability - | AdditionalQmlStackCapability); + | MemoryAddressCapability); } void CdbEngine::executeStepIn(bool byInstruction)