KDebug: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
| Line 49: | Line 49: | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
| KLinkedListNode* | | [[KLinkedListNode]]* | ||
| Pointer to first KLinkedListNode in linked list of KEventInfo objects | | Pointer to first KLinkedListNode in linked list of KEventInfo objects | ||
|- | |- | ||
| 0x3C | | 0x3C | ||
| KLinkedListNode* | | [[KLinkedListNode]]* | ||
| Pointer to last KLinkedListNode in linked list of KEventInfo objects | | Pointer to last KLinkedListNode in linked list of KEventInfo objects | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
| KProcess* | | [[KProcess]]* | ||
| Process the thread belongs to (virtual address) | | Process the thread belongs to (virtual address) | ||
|- | |||
| 0x50 | |||
| [[KThread*]] | |||
| Current KThread- thread being debugged | |||
|- | |||
| 0x54 | |||
| [[KThread*]] | |||
| Thread using ContinueDebugEvent | |||
|- | |||
| 0x58 | |||
| s32 | |||
| Cpu core of thread using ContinueDebugEvent | |||
|- | |- | ||
| 0x5C | | 0x5C | ||
| Line 87: | Line 99: | ||
| [[KRecursiveLock]] * | | [[KRecursiveLock]] * | ||
| Recursive lock | | Recursive lock | ||
|- | |||
| 0x7C | |||
| [[KThread*]] | |||
| Current KThread- used in svcBreak | |||
|- | |- | ||
| 0x84 | | 0x84 | ||
Revision as of 03:24, 13 December 2016
class KDebug extends KSynchronizationObject and KSendableInterruptEvent;
Size : 0xA0 bytes
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | Pointer to vtable |
| 0x4 | u32 | Reference count |
| 0x8 | u32 | Count of KThreads that sync with this object - number of nodes in the linked list below |
| 0xC | KLinkedListNode* | Pointer to first KLinkedListNode in node list of KThreads that sync with this object |
| 0x10 | KLinkedListNode* | Pointer to last KLinkedListNode in node list of KThreads that sync with this object |
| 0x14 | KSendableInterruptEvent | Process termination event |
| 0x2C | u32 | Debug event flags.
Bit0: debugger is attached, bit1: report CPU exceptions, bit2 : ?, bit3: ?, bit4: ? |
| 0x30 | u32 | Stop point type that caused the event: 0 = svc 0xFF, 1 = breakpoint, 2 = watchpoint (otherwise it's not updated). |
| 0x34 | u32 | Count of KEventInfo object nodes associated with this KDebug object |
| 0x38 | KLinkedListNode* | Pointer to first KLinkedListNode in linked list of KEventInfo objects |
| 0x3C | KLinkedListNode* | Pointer to last KLinkedListNode in linked list of KEventInfo objects |
| 0x4C | KProcess* | Process the thread belongs to (virtual address) |
| 0x50 | KThread* | Current KThread- thread being debugged |
| 0x54 | KThread* | Thread using ContinueDebugEvent |
| 0x58 | s32 | Cpu core of thread using ContinueDebugEvent |
| 0x5C | u32 | Count of KDebugThread object nodes associated with this KDebug object |
| 0x60 | KLinkedListNode* | Pointer to first KLinkedListNode in linked list of KDebugThread objects |
| 0x64 | KLinkedListNode* | Pointer to last KLinkedListNode in linked list of KDebugThread objects |
| 0x68 | u32 | Count of KDebug object nodes |
| 0x6C | KLinkedListNode* | Pointer to first KLinkedListNode in linked list of KDebug objects |
| 0x70 | KLinkedListNode* | Pointer to last KLinkedListNode in linked list of KDebug objects |
| 0x74 | KRecursiveLock * | Recursive lock |
| 0x7C | KThread* | Current KThread- used in svcBreak |
| 0x84 | u8 | Set to 1 to indicate the KProcess it belongs to exited |
| 0x85 | u8 | Set to 1 to indicate the KProcess it belongs to has been terminated |
| 0x88 | u32 * | Register dump |
| 0x8C | u32 | Exception type |
| 0x92 | u16 | ID of the invalid SVC that was attempted |
| 0x98 | const char * | Debug string |
| 0x9C | u32 | Debug string length |
Exception fields are set for the latest notified exception that occured in userland.