mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 07:24:37 +00:00
QoL
This commit is contained in:
parent
bade38e173
commit
16bcb896fa
@ -25,14 +25,13 @@ namespace CrashHandler
|
||||
|
||||
SafeFunction void TraceFrames(CHArchTrapFrame *Frame, int Count, SymbolResolver::Symbols *SymHandle, bool Kernel)
|
||||
{
|
||||
|
||||
#if defined(__amd64__)
|
||||
struct StackFrame *frames = (struct StackFrame *)Frame->rbp; // (struct StackFrame *)__builtin_frame_address(0);
|
||||
#elif defined(__i386__)
|
||||
struct StackFrame *frames = (struct StackFrame *)Frame->ebp; // (struct StackFrame *)__builtin_frame_address(0);
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
debug("Stack tracing...");
|
||||
debug("\nStack tracing... %p %d %p %d", Frame, Count, frames, Kernel);
|
||||
EHPrint("\e7981FC\nStack Trace:\n");
|
||||
if (!frames || !frames->rip || !frames->rbp)
|
||||
{
|
||||
|
@ -28,7 +28,7 @@ namespace CrashHandler
|
||||
SymbolResolver::Symbols *sh = data.Process->ELFSymbolTable;
|
||||
if (!sh)
|
||||
{
|
||||
EHPrint("\eFF0000< No symbol table available. >\n");
|
||||
EHPrint("\n\eFF0000< No symbol table available. >\n");
|
||||
return;
|
||||
}
|
||||
TraceFrames(data.Frame, 40, sh, false);
|
||||
|
@ -15,8 +15,11 @@ static uint64_t sys_exit(SyscallsFrame *Frame, uint64_t code)
|
||||
|
||||
static int sys_print(SyscallsFrame *Frame, char Char, int Index)
|
||||
{
|
||||
debug("%c", Char);
|
||||
return Display->Print(Char, Index, true);
|
||||
int ret = Display->Print(Char, Index, true);
|
||||
#ifdef DEBUG
|
||||
Display->SetBuffer(Index);
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void *NativeSyscallsTable[] = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user