1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 01:25:07 +00:00

HackStudio: Support debugging library code

We can now step into library code in the debugger.

Since we now need the whole source code of our libraries
(and not just the headers), we clone the whole serenity git repo into
/usr/share/serenity.
This commit is contained in:
Itamar 2020-08-15 10:58:16 +03:00 committed by Andreas Kling
parent 310063fed8
commit 7eac9fe10e
4 changed files with 69 additions and 32 deletions

View file

@ -57,12 +57,12 @@ Vector<BacktraceModel::FrameInfo> BacktraceModel::create_backtrace(const DebugSe
String name = debug_session.debug_info().name_of_containing_function(current_instruction);
if (name.is_null()) {
dbg() << "BacktraceModel: couldn't find containing function for address: " << (void*)current_instruction;
break;
name = "<missing>";
}
frames.append({ name, current_instruction, current_ebp });
current_instruction = Debugger::the().session()->peek(reinterpret_cast<u32*>(current_ebp + 4)).value();
current_ebp = Debugger::the().session()->peek(reinterpret_cast<u32*>(current_ebp)).value();
} while (current_ebp);
} while (current_ebp && current_instruction);
return frames;
}