MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / run

Method run

src/plugins/debugger/debugmanager.cpp:93–130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

91}
92
93void DebugManager::run()
94{
95 // save all modified files before debugging.
96 dpfGetService(EditorService)->saveAll();
97
98 AbstractDebugger::RunState state = currentDebugger->getRunState();
99 switch (state) {
100 case AbstractDebugger::RunState::kNoRun:
101 case AbstractDebugger::RunState::kPreparing:
102 {
103 LanguageService *service = dpfGetService(LanguageService);
104 if (service) {
105 auto generator = service->create<LanguageGenerator>(activeProjectKitName);
106 if (generator) {
107 QString debugger = generator->debugger();
108 if (debuggers.contains(debugger) && currentDebugger != debuggers[debugger]) {
109 disconnect(currentDebugger, &AbstractDebugger::runStateChanged, this, &DebugManager::handleRunStateChanged);
110 currentDebugger = debuggers[debugger];
111 connect(currentDebugger, &AbstractDebugger::runStateChanged, this, &DebugManager::handleRunStateChanged);
112 }
113 } else {
114 auto windowService = dpfGetService(WindowService);
115 windowService->notify(1, tr("Warning"), tr("The project does not have an associated build kit. Please reopen the project and select the corresponding build tool."), {});
116 }
117 }
118 AsynInvoke(currentDebugger->startDebug());
119 break;
120 }
121 case AbstractDebugger::RunState::kRunning:
122 // TODO(mozart):stop debug
123 break;
124 case AbstractDebugger::RunState::kStopped:
125 continueDebug();
126 break;
127 default:
128 ;// do nothing.
129 }
130}
131
132void DebugManager::remoteDebug(RemoteInfo info)
133{

Callers 2

matcher_tests.pyFile · 0.45
embed_singleMethod · 0.45

Calls 7

connectFunction · 0.85
saveAllMethod · 0.45
getRunStateMethod · 0.45
debuggerMethod · 0.45
containsMethod · 0.45
notifyMethod · 0.45
startDebugMethod · 0.45

Tested by

no test coverage detected