forked from qt-creator/qt-creator
debugger: avoid confusing status message when exiting debugging if the the
binary is already gone.
This commit is contained in:
@@ -615,8 +615,11 @@ void GdbEngine::handleResponse(const QByteArray &buff)
|
|||||||
void GdbEngine::readGdbStandardError()
|
void GdbEngine::readGdbStandardError()
|
||||||
{
|
{
|
||||||
QByteArray err = m_gdbProc.readAllStandardError();
|
QByteArray err = m_gdbProc.readAllStandardError();
|
||||||
|
debugMessage(_("UNEXPECTED GDB STDERR: " + err));
|
||||||
if (err == "Undefined command: \"bb\". Try \"help\".\n")
|
if (err == "Undefined command: \"bb\". Try \"help\".\n")
|
||||||
return;
|
return;
|
||||||
|
if (err.startsWith("BFD: reopening"))
|
||||||
|
return;
|
||||||
qWarning() << "Unexpected gdb stderr:" << err;
|
qWarning() << "Unexpected gdb stderr:" << err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1651,11 +1654,20 @@ void GdbEngine::handleInferiorShutdown(const GdbResponse &response)
|
|||||||
debugMessage(_("INFERIOR SUCCESSFULLY SHUT DOWN"));
|
debugMessage(_("INFERIOR SUCCESSFULLY SHUT DOWN"));
|
||||||
setState(InferiorShutDown);
|
setState(InferiorShutDown);
|
||||||
} else {
|
} else {
|
||||||
debugMessage(_("INFERIOR SHUTDOWN FAILED"));
|
QByteArray ba = response.data.findChild("msg").data();
|
||||||
setState(InferiorShutdownFailed);
|
if (ba.contains(": No such file or directory.")) {
|
||||||
QString msg = m_gdbAdapter->msgInferiorStopFailed(
|
// This happens when someone removed the binary behind our back.
|
||||||
QString::fromLocal8Bit(response.data.findChild("msg").data()));
|
// It is not really an error from a user's point of view.
|
||||||
showMessageBox(QMessageBox::Critical, tr("Failed to shut down application"), msg);
|
debugMessage(_("INFERIOR SUCCESSFULLY SHUT DOWN"));
|
||||||
|
debugMessage(_("NOTE: " + ba));
|
||||||
|
setState(InferiorShutDown);
|
||||||
|
} else {
|
||||||
|
debugMessage(_("INFERIOR SHUTDOWN FAILED"));
|
||||||
|
setState(InferiorShutdownFailed);
|
||||||
|
showMessageBox(QMessageBox::Critical,
|
||||||
|
tr("Failed to shut down application"),
|
||||||
|
m_gdbAdapter->msgInferiorStopFailed(QString::fromLocal8Bit(ba)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
shutdown(); // re-iterate...
|
shutdown(); // re-iterate...
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user