Difference between revisions of "KDebug"

From 3dbrew
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]] *
| Mutex
+
| 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 01: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.