1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:08:10 +00:00

Debugger: Print where we're stopped at

For some reaason, some magic is required to convince gcc to give us
the implementation for "__cxa_demangle"
Thanks @predmond for finding this simpler form of magic :)
This commit is contained in:
Itamar 2020-04-13 19:21:24 +03:00 committed by Andreas Kling
parent e207de8449
commit 1191ab9500

View file

@ -95,6 +95,7 @@ void handle_print_registers(const PtraceRegisters& regs)
bool handle_disassemble_command(const String& command, void* first_instruction)
{
(void)demangle("foo");
auto parts = command.split(' ');
size_t number_of_instructions_to_disassemble = 5;
if (parts.size() == 2) {
@ -212,7 +213,8 @@ int main(int argc, char** argv)
ASSERT(optional_regs.has_value());
const PtraceRegisters& regs = optional_regs.value();
printf("Program is stopped at: 0x%x\n", regs.eip);
auto symbol_at_ip = g_debug_session->elf().symbolicate(regs.eip);
printf("Program is stopped at: 0x%x (%s)\n", regs.eip, symbol_at_ip.characters());
for (;;) {
auto command = get_command();
bool success = false;