Fix debug step over and out.
Some checks failed
CI / ${{ matrix.name }} (/usr/bin/gcc-12, /usr/bin/g++-12, ubuntu:22.04, linux-x86_64-system-deps, false, 3.11.x, true, false) (push) Has been cancelled
CI / ${{ matrix.name }} (default, default, 6) (push) Has been cancelled
CI / ${{ matrix.name }} (ubuntu:20.04, linux-x86_64, true, 3.6.x, false, false) (push) Has been cancelled
CI / ${{ matrix.name }} (ubuntu:20.04, tarball, false, 3.6.x, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (/usr/bin/gcc-7, /usr/bin/g++-7, ubuntu:18.04, linux-x86_64-qt5-system-deps, false, 3.6.x, 5, true) (push) Has been cancelled
CI / ${{ matrix.name }} (ubuntu:18.04, linux-x86_64-qt5, true, 3.6.x, 5, false) (push) Has been cancelled
CI / ${{ matrix.name }} () (push) Has been cancelled
CI / ${{ matrix.name }} (3.12.x) (push) Has been cancelled
CI / ${{ matrix.name }} (arm64, macos-arm64, macos-14, artifact_macos, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false) (push) Has been cancelled
CI / ${{ matrix.name }} (windows-x86_64, windows-2019, artifact_windows, true, 3.12.x) (push) Has been cancelled
CI / ${{ matrix.name }} (x86_64, macos-x86_64, macos-13, true) (push) Has been cancelled
Docs / deploy (push) Has been cancelled
Linter / changes (push) Has been cancelled
CI / plugin-test-${{ matrix.name }} (build, artifact_macos, macos-arm64, macos-14) (push) Has been cancelled
CI / plugin-test-${{ matrix.name }} (build, artifact_windows, windows, windows-2019) (push) Has been cancelled
CI / plugin-test-${{ matrix.name }} (build-linux, artifact_linux, linux-x86_64, ubuntu-20.04) (push) Has been cancelled
Linter / clang-format (push) Has been cancelled
coverity-scan / latest (push) Has been cancelled

The old code didn't make sense: capturing by reference function local variable in a lambda which will be executed as async task, checking result of async task before the task was even started.
This commit is contained in:
Karliss 2025-01-30 15:05:13 +02:00 committed by karliss
parent 8ef0590869
commit cb6035a32d

View File

@ -2422,17 +2422,13 @@ void CutterCore::stepOverDebug()
return; return;
} }
} else { } else {
bool ret;
asyncTask( asyncTask(
[&](RzCore *core) { [](RzCore *core) {
ret = rz_core_debug_step_over(core, 1); rz_core_debug_step_over(core, 1);
rz_core_dbg_follow_seek_register(core); rz_core_dbg_follow_seek_register(core);
return nullptr; return nullptr;
}, },
debugTask); debugTask);
if (!ret) {
return;
}
} }
emit debugTaskStateChanged(); emit debugTaskStateChanged();
@ -2453,17 +2449,13 @@ void CutterCore::stepOutDebug()
} }
emit debugTaskStateChanged(); emit debugTaskStateChanged();
bool ret;
asyncTask( asyncTask(
[&](RzCore *core) { [](RzCore *core) {
ret = rz_core_debug_step_until_frame(core); rz_core_debug_step_until_frame(core);
rz_core_dbg_follow_seek_register(core); rz_core_dbg_follow_seek_register(core);
return nullptr; return nullptr;
}, },
debugTask); debugTask);
if (!ret) {
return;
}
connect(debugTask.data(), &RizinTask::finished, this, [this]() { connect(debugTask.data(), &RizinTask::finished, this, [this]() {
debugTask.clear(); debugTask.clear();
@ -2492,17 +2484,13 @@ void CutterCore::stepBackDebug()
return; return;
} }
} else { } else {
bool ret;
asyncTask( asyncTask(
[&](RzCore *core) { [](RzCore *core) {
ret = rz_core_debug_step_back(core, 1); rz_core_debug_step_back(core, 1);
rz_core_dbg_follow_seek_register(core); rz_core_dbg_follow_seek_register(core);
return nullptr; return nullptr;
}, },
debugTask); debugTask);
if (!ret) {
return;
}
} }
emit debugTaskStateChanged(); emit debugTaskStateChanged();