summaryrefslogtreecommitdiff
path: root/src/plugins/debugger
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-01-04 16:54:50 +0100
committerhjk <hjk@theqtcompany.com>2016-01-05 13:31:15 +0000
commit8b847bcf196f12c6a5c6d7101a94fca9dc30c95f (patch)
tree09378e0330dd52054d898576a3e572fb70bbb556 /src/plugins/debugger
parentc943ab2d30c921b7d10385ffaf5194017bac5269 (diff)
downloadqt-creator-8b847bcf196f12c6a5c6d7101a94fca9dc30c95f.tar.gz
Debugger: Do not abort debugger on "Engine Ill" for coredump
Even without the stack, the user can find interesting stuff by exploring the memory, globals etc. Change-Id: I867d26b09a45425d97c4f3ef6d0528074c25e75f Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: hjk <hjk@theqtcompany.com>
Diffstat (limited to 'src/plugins/debugger')
-rw-r--r--src/plugins/debugger/gdb/coregdbadapter.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/plugins/debugger/gdb/coregdbadapter.cpp b/src/plugins/debugger/gdb/coregdbadapter.cpp
index 8987b9e879..40f46c80b6 100644
--- a/src/plugins/debugger/gdb/coregdbadapter.cpp
+++ b/src/plugins/debugger/gdb/coregdbadapter.cpp
@@ -244,18 +244,20 @@ void GdbCoreEngine::handleTargetCore(const DebuggerResponse &response)
{
CHECK_STATE(EngineRunRequested);
notifyEngineRunOkAndInferiorUnrunnable();
- if (response.resultClass == ResultDone) {
- showMessage(tr("Attached to core."), StatusBar);
- // Due to the auto-solib-add off setting, we don't have any
- // symbols yet. Load them in order of importance.
- reloadStack();
- reloadModulesInternal();
- runCommand({"p 5", NoFlags, CB(handleRoundTrip)});
- return;
+ showMessage(tr("Attached to core."), StatusBar);
+ if (response.resultClass == ResultError) {
+ // We'll accept any kind of error e.g. &"Cannot access memory at address 0x2abc2a24\n"
+ // Even without the stack, the user can find interesting stuff by exploring
+ // the memory, globals etc.
+ showStatusMessage(tr("Attach to core \"%1\" failed:").arg(runParameters().coreFile)
+ + QLatin1Char('\n') + QString::fromLocal8Bit(response.data["msg"].data())
+ + QLatin1Char('\n') + tr("Continuing nevertheless."));
}
- showStatusMessage(tr("Attach to core \"%1\" failed:").arg(runParameters().coreFile)
- + QLatin1Char('\n') + QString::fromLocal8Bit(response.data["msg"].data()));
- notifyEngineIll();
+ // Due to the auto-solib-add off setting, we don't have any
+ // symbols yet. Load them in order of importance.
+ reloadStack();
+ reloadModulesInternal();
+ runCommand({"p 5", NoFlags, CB(handleRoundTrip)});
}
void GdbCoreEngine::handleRoundTrip(const DebuggerResponse &response)