forked from eden-emu/eden
		
	kernel: notify debugger on break SVC
This commit is contained in:
		
							parent
							
								
									c1c931d97e
								
							
						
					
					
						commit
						0755b274fa
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		|  | @ -15,6 +15,7 @@ | ||||||
| #include "common/scope_exit.h" | #include "common/scope_exit.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
|  | #include "core/debugger/debugger.h" | ||||||
| #include "core/hle/kernel/k_client_port.h" | #include "core/hle/kernel/k_client_port.h" | ||||||
| #include "core/hle/kernel/k_client_session.h" | #include "core/hle/kernel/k_client_session.h" | ||||||
| #include "core/hle/kernel/k_code_memory.h" | #include "core/hle/kernel/k_code_memory.h" | ||||||
|  | @ -627,6 +628,12 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) { | ||||||
|         const auto thread_processor_id = current_thread->GetActiveCore(); |         const auto thread_processor_id = current_thread->GetActiveCore(); | ||||||
|         system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace(); |         system.ArmInterface(static_cast<std::size_t>(thread_processor_id)).LogBacktrace(); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     if (system.DebuggerEnabled()) { | ||||||
|  |         auto* thread = system.Kernel().GetCurrentEmuThread(); | ||||||
|  |         system.GetDebugger().NotifyThreadStopped(thread); | ||||||
|  |         thread->RequestSuspend(Kernel::SuspendType::Debug); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void Break32(Core::System& system, u32 reason, u32 info1, u32 info2) { | static void Break32(Core::System& system, u32 reason, u32 info1, u32 info2) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Liam
						Liam