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:
parent
31c3382577
commit
b0145ea529
4 changed files with 30 additions and 0 deletions
|
@ -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("/"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue