Debugger: Adding functionality to create full backtrace with cdb.

Task-number: QTCREATORBUG-10916

Change-Id: Ie2675f1bdc1f31679aefac32053cd1c8dd76d2d5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
David Schulz
2013-11-27 08:06:15 +01:00
parent ee8ddc3564
commit f3ecf032b6
2 changed files with 16 additions and 0 deletions

View File

@@ -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);