mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 14:28:12 +00:00
HackStudio: Enable building HackStudio on x86_64
This implements bits and pieces to get the debugging functionality to build. No testing has been done to check whether it actually works because GCC doesn't currently work.
This commit is contained in:
parent
fb099ad38b
commit
b81926d933
14 changed files with 110 additions and 29 deletions
|
@ -77,8 +77,8 @@ DebugInfoWidget::DebugInfoWidget()
|
|||
// We currently only reconstruct eip & ebp. Ideally would also reconstruct the other registers somehow.
|
||||
// (Other registers may be needed to get the values of variables who are not stored on the stack)
|
||||
PtraceRegisters frame_regs {};
|
||||
frame_regs.eip = model.frames()[index.row()].instruction_address;
|
||||
frame_regs.ebp = model.frames()[index.row()].frame_base;
|
||||
frame_regs.set_ip(model.frames()[index.row()].instruction_address);
|
||||
frame_regs.set_bp(model.frames()[index.row()].frame_base);
|
||||
|
||||
m_variables_view->set_model(VariablesModel::create(frame_regs));
|
||||
};
|
||||
|
@ -108,7 +108,7 @@ RefPtr<GUI::Menu> DebugInfoWidget::get_context_menu_for_variable(const GUI::Mode
|
|||
}));
|
||||
}
|
||||
|
||||
auto variable_address = (u32*)variable->location_data.address;
|
||||
auto variable_address = (FlatPtr*)variable->location_data.address;
|
||||
if (Debugger::the().session()->watchpoint_exists(variable_address)) {
|
||||
context_menu->add_action(GUI::Action::create("Remove watchpoint", [variable_address](auto&) {
|
||||
Debugger::the().session()->remove_watchpoint(variable_address);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue