1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 22:38:12 +00:00

HackStudio: Implement "Step Over" debugging action

The "Step Over" action continues execution without stepping into
instructions in subsequent function calls.
This commit is contained in:
Itamar 2020-08-21 16:48:42 +03:00 committed by Andreas Kling
parent 99788e6b32
commit 5c494eefd6
7 changed files with 75 additions and 13 deletions

View file

@ -614,8 +614,6 @@ int main_impl(int argc, char** argv)
RefPtr<EditorWrapper> current_editor_in_execution;
Debugger::initialize(
[&](const PtraceRegisters& regs) {
dbg() << "Program stopped";
ASSERT(Debugger::the().session());
const auto& debug_session = *Debugger::the().session();
auto source_position = debug_session.debug_info().get_source_position(regs.eip);
@ -639,7 +637,6 @@ int main_impl(int argc, char** argv)
return Debugger::HasControlPassedToUser::Yes;
},
[&]() {
dbg() << "Program continued";
Core::EventLoop::main().post_event(*g_window, make<Core::DeferredInvocationEvent>([&](auto&) {
debug_info_widget.set_debug_actions_enabled(false);
if (current_editor_in_execution) {
@ -649,7 +646,6 @@ int main_impl(int argc, char** argv)
Core::EventLoop::wake();
},
[&]() {
dbg() << "Program exited";
Core::EventLoop::main().post_event(*g_window, make<Core::DeferredInvocationEvent>([&](auto&) {
debug_info_widget.program_stopped();
hide_action_tabs();