forked from qt-creator/qt-creator
debugger: don't remove corefiles that we did not create.
This commit is contained in:
@@ -108,6 +108,7 @@ using namespace TextEditor;
|
|||||||
DebuggerStartParameters::DebuggerStartParameters()
|
DebuggerStartParameters::DebuggerStartParameters()
|
||||||
: attachPID(-1),
|
: attachPID(-1),
|
||||||
useTerminal(false),
|
useTerminal(false),
|
||||||
|
isSnapshot(false),
|
||||||
breakAtMain(false),
|
breakAtMain(false),
|
||||||
qmlServerAddress("127.0.0.1"),
|
qmlServerAddress("127.0.0.1"),
|
||||||
qmlServerPort(0),
|
qmlServerPort(0),
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ public:
|
|||||||
QString executable;
|
QString executable;
|
||||||
QString displayName;
|
QString displayName;
|
||||||
QString coreFile;
|
QString coreFile;
|
||||||
|
bool isSnapshot; // set if created internally
|
||||||
QStringList processArgs;
|
QStringList processArgs;
|
||||||
QStringList environment;
|
QStringList environment;
|
||||||
QString workingDirectory;
|
QString workingDirectory;
|
||||||
|
|||||||
@@ -3022,6 +3022,7 @@ void GdbEngine::handleMakeSnapshot(const GdbResponse &response)
|
|||||||
function = frame.function + _(":") + QString::number(frame.line);
|
function = frame.function + _(":") + QString::number(frame.line);
|
||||||
}
|
}
|
||||||
sp.displayName = function + _(": ") + QDateTime::currentDateTime().toString();
|
sp.displayName = function + _(": ") + QDateTime::currentDateTime().toString();
|
||||||
|
sp.isSnapshot = true;
|
||||||
DebuggerRunControl *rc = DebuggerPlugin::createDebugger(sp);
|
DebuggerRunControl *rc = DebuggerPlugin::createDebugger(sp);
|
||||||
DebuggerPlugin::startDebugger(rc);
|
DebuggerPlugin::startDebugger(rc);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -127,9 +127,9 @@ SnapshotHandler::~SnapshotHandler()
|
|||||||
{
|
{
|
||||||
for (int i = m_snapshots.size(); --i >= 0; ) {
|
for (int i = m_snapshots.size(); --i >= 0; ) {
|
||||||
if (DebuggerEngine *engine = engineAt(i)) {
|
if (DebuggerEngine *engine = engineAt(i)) {
|
||||||
QString fileName = engine->startParameters().coreFile;
|
const DebuggerStartParameters & sp = engine->startParameters();
|
||||||
if (!fileName.isEmpty())
|
if (sp.isSnapshot && !sp.coreFile.isEmpty())
|
||||||
QFile::remove(fileName);
|
QFile::remove(sp.coreFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -270,8 +270,8 @@ void SnapshotHandler::removeSnapshot(int index)
|
|||||||
const DebuggerEngine *engine = engineAt(index);
|
const DebuggerEngine *engine = engineAt(index);
|
||||||
QTC_ASSERT(engine, return);
|
QTC_ASSERT(engine, return);
|
||||||
QString fileName = engine->startParameters().coreFile;
|
QString fileName = engine->startParameters().coreFile;
|
||||||
if (!fileName.isEmpty())
|
//if (!fileName.isEmpty())
|
||||||
QFile::remove(fileName);
|
// QFile::remove(fileName);
|
||||||
m_snapshots.removeAt(index);
|
m_snapshots.removeAt(index);
|
||||||
if (index == m_currentIndex)
|
if (index == m_currentIndex)
|
||||||
m_currentIndex = -1;
|
m_currentIndex = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user