Commit f3ecf032 authored by David Schulz's avatar David Schulz
Browse files

Debugger: Adding functionality to create full backtrace with cdb.



Task-number: QTCREATORBUG-10916

Change-Id: Ie2675f1bdc1f31679aefac32053cd1c8dd76d2d5
Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@digia.com>
parent ee8ddc35
......@@ -365,6 +365,8 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) :
this, SLOT(operateByInstructionTriggered(bool)));
connect(debuggerCore()->action(VerboseLog), SIGNAL(triggered(bool)),
this, SLOT(verboseLogTriggered(bool)));
connect(debuggerCore()->action(CreateFullBacktrace), SIGNAL(triggered()),
this, SLOT(createFullBacktrace()));
setObjectName(QLatin1String("CdbEngine"));
connect(&m_process, SIGNAL(finished(int)), this, SLOT(processFinished()));
connect(&m_process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError()));
......@@ -597,6 +599,16 @@ void CdbEngine::consoleStubExited()
{
}
void CdbEngine::createFullBacktrace()
{
postBuiltinCommand("~*kp", 0, &CdbEngine::handleCreateFullBackTrace);
}
void CdbEngine::handleCreateFullBackTrace(const CdbEngine::CdbBuiltinCommandPtr &cmd)
{
debuggerCore()->openTextEditor(QLatin1String("Backtrace $"), QLatin1String(cmd->joinedReply()));
}
void CdbEngine::setupEngine()
{
if (debug)
......@@ -1101,6 +1113,7 @@ bool CdbEngine::hasCapability(unsigned cap) const
|BreakOnThrowAndCatchCapability // Sort-of: Can break on throw().
|BreakConditionCapability|TracePointCapability
|BreakModuleCapability
|CreateFullBacktraceCapability
|OperateByInstructionCapability
|RunToLineCapability
|MemoryAddressCapability);
......
......@@ -156,6 +156,8 @@ private slots:
void consoleStubProcessStarted();
void consoleStubExited();
void createFullBacktrace();
void handleDoInterruptInferior(const QString &errorMessage);
private:
......@@ -227,6 +229,7 @@ private:
void ensureUsing32BitStackInWow64(const CdbBuiltinCommandPtr &cmd);
void handleSwitchWow64Stack(const CdbBuiltinCommandPtr &cmd);
void jumpToAddress(quint64 address);
void handleCreateFullBackTrace(const CdbBuiltinCommandPtr &cmd);
// Extension commands
void handleThreads(const CdbExtensionCommandPtr &);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment