forked from qt-creator/qt-creator
Valgrind: Suppress messagebox on SIGTRAP for vgdb
Change-Id: I5af3a3a67a9c9903337e0035733a74ad482ba197 Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
#include <projectexplorer/devicesupport/idevice.h>
|
||||
|
||||
#include <QMetaType>
|
||||
#include <QVector>
|
||||
|
||||
namespace Debugger {
|
||||
|
||||
@@ -156,6 +157,9 @@ public:
|
||||
bool useContinueInsteadOfRun; // if connected to a hw debugger run is not possible but continue is used
|
||||
QByteArray commandsAfterConnect; // additional commands to post after connection to debug target
|
||||
|
||||
// Used by Valgrind
|
||||
QVector<QByteArray> expectedSignals;
|
||||
|
||||
QStringList solibSearchPath;
|
||||
DebuggerStartMode startMode;
|
||||
DebuggerCloseMode closeMode;
|
||||
|
@@ -1626,7 +1626,7 @@ void GdbEngine::handleStop2(const GdbMi &data)
|
||||
QByteArray meaning = data["signal-meaning"].data();
|
||||
// Ignore these as they are showing up regularly when
|
||||
// stopping debugging.
|
||||
if (name == stopSignal(sp.toolChainAbi)) {
|
||||
if (name == stopSignal(sp.toolChainAbi) || sp.expectedSignals.contains(name)) {
|
||||
showMessage(_(name + " CONSIDERED HARMLESS. CONTINUING."));
|
||||
} else {
|
||||
showMessage(_("HANDLING SIGNAL " + name));
|
||||
|
@@ -188,6 +188,7 @@ void MemcheckWithGdbRunControl::startDebugger()
|
||||
sp.displayName = QString::fromLatin1("VGdb %1").arg(valgrindPid);
|
||||
sp.remoteChannel = QString::fromLatin1("| vgdb --pid=%1").arg(valgrindPid);
|
||||
sp.useContinueInsteadOfRun = true;
|
||||
sp.expectedSignals << "SIGTRAP";
|
||||
|
||||
QString errorMessage;
|
||||
RunControl *gdbRunControl = Debugger::DebuggerRunControlFactory::doCreate(sp, rc, &errorMessage);
|
||||
|
Reference in New Issue
Block a user