forked from qt-creator/qt-creator
debugger: better guess at engine capabilities in dummy engine
Change-Id: Ia37086a126df7f7d84b9509c54472c5d9be6b4ef Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -485,11 +485,33 @@ public:
|
|||||||
void runEngine() {}
|
void runEngine() {}
|
||||||
void shutdownEngine() {}
|
void shutdownEngine() {}
|
||||||
void shutdownInferior() {}
|
void shutdownInferior() {}
|
||||||
unsigned debuggerCapabilities() const { return AddWatcherCapability; }
|
unsigned debuggerCapabilities() const;
|
||||||
bool acceptsBreakpoint(BreakpointModelId) const { return false; }
|
bool acceptsBreakpoint(BreakpointModelId) const { return false; }
|
||||||
bool acceptsDebuggerCommands() const { return false; }
|
bool acceptsDebuggerCommands() const { return false; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
unsigned DummyEngine::debuggerCapabilities() const
|
||||||
|
{
|
||||||
|
// This can only be a first approximation of what to expect when running.
|
||||||
|
Project *project = ProjectExplorerPlugin::instance()->currentProject();
|
||||||
|
if (!project)
|
||||||
|
return 0;
|
||||||
|
Target *target = project->activeTarget();
|
||||||
|
QTC_ASSERT(target, return 0);
|
||||||
|
RunConfiguration *activeRc = target->activeRunConfiguration();
|
||||||
|
QTC_ASSERT(activeRc, return 0);
|
||||||
|
|
||||||
|
// This is a non-started Cdb or Gdb engine:
|
||||||
|
if (activeRc->useCppDebugger())
|
||||||
|
return WatchpointByAddressCapability
|
||||||
|
| BreakConditionCapability
|
||||||
|
| TracePointCapability
|
||||||
|
| OperateByInstructionCapability;
|
||||||
|
|
||||||
|
// This is a Qml or unknown engine.
|
||||||
|
return AddWatcherCapability;
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// DebugMode
|
// DebugMode
|
||||||
|
|||||||
@@ -711,6 +711,7 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
|
|||||||
const bool canHandleWatches = engineCapabilities & AddWatcherCapability;
|
const bool canHandleWatches = engineCapabilities & AddWatcherCapability;
|
||||||
const DebuggerState state = engine->state();
|
const DebuggerState state = engine->state();
|
||||||
const bool canInsertWatches = state == InferiorStopOk
|
const bool canInsertWatches = state == InferiorStopOk
|
||||||
|
|| state == DebuggerNotReady
|
||||||
|| state == InferiorUnrunnable
|
|| state == InferiorUnrunnable
|
||||||
|| (state == InferiorRunOk && (engineCapabilities & AddWatcherWhileRunningCapability));
|
|| (state == InferiorRunOk && (engineCapabilities & AddWatcherWhileRunningCapability));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user