Changes

294 bytes added ,  23:34, 19 December 2016
Line 858: Line 858:  
|-
 
|-
 
| u32
 
| u32
| Unknown
+
| Flags. Bit0 means that svcContinueDebugEvent needs to be called for this event (except for EXIT PROCESS events, for which you need to call svcContinueDebugEvent even if this bit is clear)
 
|-
 
|-
 
| u8[4]
 
| u8[4]
| Unknown
+
| Remnants of the corresponding flags in [[KEventInfo]], always 0 here
 
|-
 
|-
 
| u32[6]
 
| u32[6]
Line 871: Line 871:  
!  Id
 
!  Id
 
|-
 
|-
| PROCESS
+
| ATTACH PROCESS
 
| 0
 
| 0
 
|-
 
|-
| CREATE THREAD
+
| ATTACH THREAD
 
| 1
 
| 1
 
|-
 
|-
Line 911: Line 911:  
|}
 
|}
   −
=== PROCESS event ===
+
When calling svcDebugActiveProcess, an ATTACH PROCESS debug event is signaled, then ATTACH THREAD for each of its opened threads, then finally ATTACH BREAK.
 +
 
 +
ATTACH THREAD events are also emitted when a thread is created from an attached process.
 +
 
 +
=== ATTACH PROCESS event ===
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 927: Line 931:  
|-
 
|-
 
| u32
 
| u32
| 0 = newly created process, 1 = attached process
+
| "Other" flag. Always 0 in available kernel versions
 
|}
 
|}
   −
=== CREATE THREAD event ===
+
=== ATTACH THREAD event ===
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 998: Line 1,002:  
| Type-specific data, see below
 
| Type-specific data, see below
 
|}
 
|}
  −
The register storage layout for CPU exceptions is as follows (referring to user-mode registers): r0-r12, sp, <event-signaling exception handler>, lr_svc, lr, pc (misadjusted for Thumb instructions), cpsr. (????)
      
Exception types:
 
Exception types: