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

Method addBreakpoint

src/plugins/debugger/dap/dapdebugger.cpp:438–468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

436}
437
438void DAPDebugger::addBreakpoint(const QString &filePath, int lineNumber)
439{
440 const auto &bps = d->breakpointModel.breakpointList();
441 bool ret = std::any_of(bps.cbegin(), bps.cend(),
442 [&](const BreakpointItem &bp) {
443 return filePath == bp.filePath() && lineNumber == bp.lineNumber();
444 });
445 if (ret)
446 return;
447
448 // update model here.
449 Internal::Breakpoint bp;
450 bp.filePath = filePath;
451 bp.fileName = QFileInfo(filePath).fileName();
452 bp.lineNumber = lineNumber;
453 d->breakpointModel.insertBreakpoint(bp);
454
455 // send to backend.
456 dap::array<IBreakpointData> rawBreakpoints;
457 IBreakpointData bpData;
458 bpData.id = QUuid::createUuid().toString().toStdString();
459 bpData.lineNumber = lineNumber;
460 bpData.enabled = true; // TODO(mozart):get from editor.
461 rawBreakpoints.push_back(bpData);
462
463 if (d->runState == kStopped || d->runState == kRunning) {
464 debugService->addBreakpoints(filePath, rawBreakpoints, d->currentSession);
465 } else {
466 debugService->addBreakpoints(filePath, rawBreakpoints, undefined);
467 }
468}
469
470void DAPDebugger::removeBreakpoint(const QString &filePath, int lineNumber)
471{

Callers 1

handleEventsMethod · 0.45

Calls 8

cbeginMethod · 0.80
cendMethod · 0.80
fileNameMethod · 0.80
insertBreakpointMethod · 0.80
filePathMethod · 0.45
lineNumberMethod · 0.45
toStringMethod · 0.45
addBreakpointsMethod · 0.45

Tested by

no test coverage detected