aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerengine.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2012-08-21 11:30:59 +0200
committerhjk <[email protected]>2012-08-21 16:28:44 +0200
commitdd6604eef25013ece1e095d10c308a8f82041b55 (patch)
tree91af0462fa8ddc51859da84bd5e26d8262616c73 /src/plugins/debugger/debuggerengine.cpp
parent5bbaef6b101c9c811cff3cf18d559bf5feb3fba1 (diff)
debugger: use *running instead of ^running as running notification.
This is closer to internal gdb state. There are still a few workarounds for gdb < 7.0 which probably should be dropped as BFD 2.18.50.20080226 yields "assertion fail elf32-i386.c:366" on stock Ubuntu 12.04 gcc, so stock gdb 6.8 cannot be used with that compiler anyways. Change-Id: I22c4e0ce91f634cc171d65f0ad07d68d679af10c Reviewed-by: David Schulz <[email protected]> Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerengine.cpp')
-rw-r--r--src/plugins/debugger/debuggerengine.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 4d2f088ae26..0ee1117ba99 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -713,6 +713,7 @@ static bool isAllowedTransition(DebuggerState from, DebuggerState to)
case EngineRunRequested:
return to == EngineRunFailed
+ || to == InferiorRunRequested
|| to == InferiorRunOk
|| to == InferiorStopOk
|| to == InferiorUnrunnable;
@@ -922,6 +923,16 @@ void DebuggerEngine::notifyEngineRemoteSetupFailed(const QString &message)
qDebug() << this << "remoteSetupState" << d->remoteSetupState());
}
+void DebuggerEngine::notifyEngineRunOkAndInferiorRunRequested()
+{
+ showMessage(_("NOTE: ENGINE RUN OK AND INFERIOR RUN REQUESTED"));
+ d->m_progress.setProgressValue(1000);
+ d->m_progress.reportFinished();
+ QTC_ASSERT(state() == EngineRunRequested, qDebug() << this << state());
+ showStatusMessage(tr("Running."));
+ setState(InferiorRunRequested);
+}
+
void DebuggerEngine::notifyEngineRunAndInferiorRunOk()
{
showMessage(_("NOTE: ENGINE RUN AND INFERIOR RUN OK"));
@@ -952,10 +963,15 @@ void DebuggerEngine::notifyInferiorRunRequested()
void DebuggerEngine::notifyInferiorRunOk()
{
+ if (state() == InferiorRunOk) {
+ showMessage(_("NOTE: INFERIOR RUN OK - REPEATED."));
+ return;
+ }
showMessage(_("NOTE: INFERIOR RUN OK"));
showStatusMessage(tr("Running."));
- // Transition from StopRequested can happen sin remotegdbadapter.
+ // Transition from StopRequested can happen in remotegdbadapter.
QTC_ASSERT(state() == InferiorRunRequested
+ || state() == InferiorStopOk
|| state() == InferiorStopRequested, qDebug() << this << state());
setState(InferiorRunOk);
}