Added assertion failed, reworked logging levels

This commit is contained in:
David Marcec 2018-10-23 15:17:13 +11:00
parent 8042731da9
commit 38cdb6744d
1 changed files with 24 additions and 16 deletions

View File

@ -374,8 +374,9 @@ static ResultCode ArbitrateUnlock(VAddr mutex_addr) {
return Mutex::Release(mutex_addr); return Mutex::Release(mutex_addr);
} }
enum BreakType : u32 { enum class BreakType : u32 {
Panic = 0, Panic = 0,
AssertionFailed = 1,
PreNROLoad = 3, PreNROLoad = 3,
PostNROLoad = 4, PostNROLoad = 4,
PreNROUnload = 5, PreNROUnload = 5,
@ -396,34 +397,41 @@ static void Break(u32 reason, u64 info1, u64 info2) {
switch (break_reason.break_type) { switch (break_reason.break_type) {
case BreakType::Panic: case BreakType::Panic:
LOG_ERROR(Debug_Emulated, "Signalling debugger, PANIC! info1=0x{:016X}, info2=0x{:016X}", LOG_CRITICAL(Debug_Emulated, "Signalling debugger, PANIC! info1=0x{:016X}, info2=0x{:016X}",
info1, info2);
break;
case BreakType::AssertionFailed:
LOG_CRITICAL(Debug_Emulated,
"Signalling debugger, Assertion failed! info1=0x{:016X}, info2=0x{:016X}",
info1, info2); info1, info2);
break; break;
case BreakType::PreNROLoad: case BreakType::PreNROLoad:
LOG_ERROR(Debug_Emulated, LOG_WARNING(
Debug_Emulated,
"Signalling debugger, Attempting to load an NRO at 0x{:016X} with size 0x{:016X}", "Signalling debugger, Attempting to load an NRO at 0x{:016X} with size 0x{:016X}",
info1, info2); info1, info2);
break; break;
case BreakType::PostNROLoad: case BreakType::PostNROLoad:
LOG_ERROR(Debug_Emulated, LOG_WARNING(Debug_Emulated,
"Signalling debugger, Loaded an NRO at 0x{:016X} with size 0x{:016X}", info1, "Signalling debugger, Loaded an NRO at 0x{:016X} with size 0x{:016X}", info1,
info2); info2);
break; break;
case BreakType::PreNROUnload: case BreakType::PreNROUnload:
LOG_ERROR( LOG_WARNING(
Debug_Emulated, Debug_Emulated,
"Signalling debugger, Attempting to unload an NRO at 0x{:016X} with size 0x{:016X}", "Signalling debugger, Attempting to unload an NRO at 0x{:016X} with size 0x{:016X}",
info1, info2); info1, info2);
break; break;
case BreakType::PostNROUnload: case BreakType::PostNROUnload:
LOG_ERROR(Debug_Emulated, LOG_WARNING(Debug_Emulated,
"Signalling debugger, Unloaded an NRO at 0x{:016X} with size 0x{:016X}", info1, "Signalling debugger, Unloaded an NRO at 0x{:016X} with size 0x{:016X}", info1,
info2); info2);
break; break;
default: default:
LOG_ERROR(Debug_Emulated, LOG_WARNING(
Debug_Emulated,
"Signalling debugger, Unknown break reason {}, info1=0x{:016X}, info2=0x{:016X}", "Signalling debugger, Unknown break reason {}, info1=0x{:016X}, info2=0x{:016X}",
static_cast<u32>(break_reason.break_type), info1, info2); static_cast<u32>(break_reason.break_type.Value()), info1, info2);
break; break;
} }