1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:58:11 +00:00

HackStudio: Add context option to set execution point while debugging

You can now right click in HackStudio's editor while debugging and
have the option to instantly move the current execution position to
the current line.
This commit is contained in:
FalseHonesty 2021-04-27 21:20:20 -04:00 committed by Linus Groh
parent 31c3382577
commit b0145ea529
4 changed files with 30 additions and 0 deletions

View file

@ -77,6 +77,21 @@ void Debugger::on_breakpoint_change(const String& file, size_t line, BreakpointC
}
}
bool Debugger::set_execution_position(const String& file, size_t line)
{
auto position = create_source_position(file, line);
auto session = Debugger::the().session();
if (!session)
return false;
auto address = session->get_address_from_source_position(position.file_path, position.line_number);
if (!address.has_value())
return false;
auto registers = session->get_registers();
registers.eip = address.value().address;
session->set_registers(registers);
return true;
}
Debug::DebugInfo::SourcePosition Debugger::create_source_position(const String& file, size_t line)
{
if (file.starts_with("/"))