summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)