KDebug: Difference between revisions
No edit summary |
No edit summary |
||
Line 55: | Line 55: | ||
| [[SVC|DebugEventType]] | | [[SVC|DebugEventType]] | ||
| Type of the latest debug event | | Type of the latest debug event | ||
|- | |||
| 0x24 | |||
| u32 | |||
| Unknown, probably unused | |||
|- | |- | ||
| 0x28 | | 0x28 | ||
Line 63: | Line 67: | ||
| u32 | | u32 | ||
| Debug event flags set by svcContinueDebugEvents | | Debug event flags set by svcContinueDebugEvents | ||
Bit0: | Bit0: no exception dumps are made if this is set. | ||
Bit1 and following: report EXCEPTION (this flag is bypassed for svc 0xFF), SCHEDULE, SYSCALL, MAP debug events, respectively. | |||
|- | |- | ||
| 0x30 | | 0x30 | ||
Line 135: | Line 140: | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
| [[KRecursiveLock]] | | [[KRecursiveLock]] | ||
| Recursive lock | | Recursive lock | ||
|- | |- | ||
Line 141: | Line 146: | ||
| [[KThread]]* | | [[KThread]]* | ||
| Current KThread- used in svcBreak | | Current KThread- used in svcBreak | ||
|- | |||
| 0x80 | |||
| u8 | |||
| Cleared when an EXCEPTION debug event was (attempted to be) signaled (i.e. even when bit2 of the debug flag is clear) | |||
|- | |||
| 0x81 | |||
| u8 | |||
| Indicates that an EXCEPTION debug event was signaled | |||
|- | |||
| 0x82 | |||
| u8 | |||
| Indicates that all threads should be unlocked from debug features | |||
|- | |- | ||
| 0x83 | | 0x83 | ||
Line 152: | Line 169: | ||
| 0x85 | | 0x85 | ||
| u8 | | u8 | ||
| | | Indicates that the KProcess instance it belongs to has exited (normally ?) | ||
|- | |||
| 0x86 | |||
| u8 | |||
| Indicates that the KProcess instance it belongs to has been terminated | |||
|- | |- | ||
| 0x87 | | 0x87 | ||
| u8 | | u8 | ||
| | | Indicates that svcBreak was used and not yet handled by svcContinueDebugEvent | ||
|- | |- | ||
| 0x88 | | 0x88 | ||
Line 191: | Line 212: | ||
|} | |} | ||
"Locked from debug features": this is done by setting bit7 of the thread's scheduling mask, which is checked by debug SVCs afterwards |