Difference between revisions of "KDebug"
Jump to navigation
Jump to search
m |
|||
Line 37: | Line 37: | ||
| 0x2C | | 0x2C | ||
| u32 | | u32 | ||
− | | Debug event flags | + | | Debug event flags. |
+ | Bit0: debugger is attached, bit1: report CPU exceptions, bit2 : ?, bit3: ?, bit4: ? | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
Line 80: | Line 81: | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
− | | [[KObjectMutex]] | + | | [[KObjectMutex]] * |
− | | | + | | Recursive lock |
|- | |- | ||
| 0x84 | | 0x84 | ||
Line 102: | Line 103: | ||
| u16 | | u16 | ||
| ID of the invalid SVC that was attempted | | 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. | Exception fields are set for the latest notified exception that occured in userland. |
Revision as of 00:05, 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: ? |
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) |
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 | KObjectMutex * | Recursive lock |
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.