diff options
author | hjk <hjk@theqtcompany.com> | 2016-01-04 16:54:50 +0100 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2016-01-05 13:31:15 +0000 |
commit | 8b847bcf196f12c6a5c6d7101a94fca9dc30c95f (patch) | |
tree | 09378e0330dd52054d898576a3e572fb70bbb556 /src/plugins/debugger | |
parent | c943ab2d30c921b7d10385ffaf5194017bac5269 (diff) | |
download | qt-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.cpp | 24 |
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) |