Valgrind: Extend and use new DebuggerRunTool interface

Change-Id: I5e015a484e67175be12d538e7f814d61001ad7bb
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
hjk
2017-08-24 16:53:31 +02:00
parent ce62181cb8
commit d34f33d8d7
3 changed files with 61 additions and 13 deletions

View File

@@ -163,18 +163,16 @@ QStringList MemcheckToolRunner::suppressionFiles() const
void MemcheckToolRunner::startDebugger(qint64 valgrindPid)
{
Debugger::DebuggerStartParameters sp;
sp.inferior = runnable().as<StandardRunnable>();
sp.startMode = Debugger::AttachToRemoteServer;
sp.displayName = QString("VGdb %1").arg(valgrindPid);
sp.remoteChannel = QString("| vgdb --pid=%1").arg(valgrindPid);
sp.useContinueInsteadOfRun = true;
sp.expectedSignals.append("SIGTRAP");
auto debugger = new Debugger::DebuggerRunTool(runControl());
debugger->setStartMode(Debugger::AttachToRemoteServer);
debugger->setRunControlName(QString("VGdb %1").arg(valgrindPid));
debugger->setGdbServerChannel(QString("| vgdb --pid=%1").arg(valgrindPid));
debugger->setUseContinueInsteadOfRun(true);
debugger->addExpectedSignal("SIGTRAP");
auto gdbWorker = new Debugger::DebuggerRunTool(runControl());
gdbWorker->setStartParameters(sp);
gdbWorker->initiateStart();
connect(runControl(), &RunControl::stopped, gdbWorker, &RunControl::deleteLater);
connect(runControl(), &RunControl::stopped, debugger, &RunControl::deleteLater);
debugger->initiateStart();
}
void MemcheckToolRunner::appendLog(const QByteArray &data)