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

Method handleFrames

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

Source from the content-addressed store, hash-verified

1004}
1005
1006void DAPDebugger::handleFrames(const StackFrames &stackFrames)
1007{
1008 d->stackModel.setFrames(stackFrames);
1009
1010 auto curFrame = d->stackModel.currentFrame();
1011 if (curFrame.line == -1) {
1012 // none of frame in model.
1013 return;
1014 }
1015
1016 //frame changed reset localsmodel
1017 if (d->currentValidFrame.function != curFrame.function || d->currentValidFrame.module != curFrame.module)
1018 d->localsModel.clear();
1019 d->currentValidFrame = curFrame;
1020
1021 if (d->getLocalsFuture.isRunning())
1022 d->getLocalsFuture.cancel();
1023
1024 // update local variables.
1025 d->processingVariablesTimer.start(50); // if processing time < 50ms, do not show spinner
1026 d->processingVariablesCount.ref();
1027 d->getLocalsFuture = QtConcurrent::run([=]() {
1028 IVariables locals;
1029 getLocals(curFrame.frameId, &locals);
1030 d->localsModel.clearHighlightItems();
1031 d->localsModel.setDatas(locals);
1032 d->processingVariablesCount.deref();
1033 updateWatchingVariables();
1034
1035 emit processingVariablesDone();
1036 });
1037}
1038
1039void DAPDebugger::updateThreadList(int curr, const dap::array<dap::Thread> &threads)
1040{

Callers

nothing calls this directly

Calls 8

setFramesMethod · 0.80
currentFrameMethod · 0.80
clearHighlightItemsMethod · 0.80
clearMethod · 0.45
isRunningMethod · 0.45
cancelMethod · 0.45
startMethod · 0.45
setDatasMethod · 0.45

Tested by

no test coverage detected