mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Pica/DebugUtils: Add breakpoint functionality.
This commit is contained in:
		
							parent
							
								
									706f9c5574
								
							
						
					
					
						commit
						2c71ec7052
					
				
					 5 changed files with 204 additions and 2 deletions
				
			
		|  | @ -14,6 +14,8 @@ | |||
| #include "core/core.h" | ||||
| #include "core/settings.h" | ||||
| 
 | ||||
| #include "video_core/debug_utils/debug_utils.h" | ||||
| 
 | ||||
| #include "video_core/video_core.h" | ||||
| 
 | ||||
| #include "citra_qt/version.h" | ||||
|  | @ -65,14 +67,21 @@ void EmuThread::Stop() | |||
|     } | ||||
|     stop_run = true; | ||||
| 
 | ||||
|     // Release emu threads from any breakpoints, so that this doesn't hang forever.
 | ||||
|     Pica::g_debug_context->ClearBreakpoints(); | ||||
| 
 | ||||
|     //core::g_state = core::SYS_DIE;
 | ||||
| 
 | ||||
|     wait(500); | ||||
|     // TODO: Waiting here is just a bad workaround for retarded shutdown logic.
 | ||||
|     wait(1000); | ||||
|     if (isRunning()) | ||||
|     { | ||||
|         WARN_LOG(MASTER_LOG, "EmuThread still running, terminating..."); | ||||
|         quit(); | ||||
|         wait(1000); | ||||
| 
 | ||||
|         // TODO: Waiting 50 seconds can be necessary if the logging subsystem has a lot of spam
 | ||||
|         // queued... This should be fixed.
 | ||||
|         wait(50000); | ||||
|         if (isRunning()) | ||||
|         { | ||||
|             WARN_LOG(MASTER_LOG, "EmuThread STILL running, something is wrong here..."); | ||||
|  |  | |||
|  | @ -36,6 +36,8 @@ GMainWindow::GMainWindow() | |||
| { | ||||
|     LogManager::Init(); | ||||
| 
 | ||||
|     Pica::g_debug_context = Pica::DebugContext::Construct(); | ||||
| 
 | ||||
|     Config config; | ||||
| 
 | ||||
|     if (!Settings::values.enable_log) | ||||
|  | @ -133,6 +135,8 @@ GMainWindow::~GMainWindow() | |||
|     // will get automatically deleted otherwise
 | ||||
|     if (render_window->parent() == nullptr) | ||||
|         delete render_window; | ||||
| 
 | ||||
|     Pica::g_debug_context.reset(); | ||||
| } | ||||
| 
 | ||||
| void GMainWindow::BootGame(std::string filename) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue