mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	Implemented initial DAP support
Implemented "output" event Refactored "seq" field generation Prevent debugging when editor and client are in different projects Removed unneeded references to peer on the parser Refactored way to detect project path Implemented "setBreakpoints" request Fix double events when terminating from client Refactored "stopped" event Implemented "stopped" with breakpoint event Implemented "stackTrace", "scopes" and "variables" request Report incoming number of stack dump variables Implemented proper reporting of scopes and variables from stack frames Prevent editor from grabbing focus when a DAP session is active Implemented "next" and "stepIn" requests Implemented "Source" checksum computing Switched expected errors from macros to silent guards Refactored message_id Respect client settings regarding lines/columns behavior Refactored nested DAP fields Implement reporting of "Members" and "Globals" scopes as well Fix error messages not being shown, and improved wrong path message
This commit is contained in:
		
							parent
							
								
									855c7c7414
								
							
						
					
					
						commit
						7bccd5487e
					
				
					 18 changed files with 1666 additions and 18 deletions
				
			
		|  | @ -466,7 +466,7 @@ void EditorDebuggerNode::_paused() { | |||
| 	}); | ||||
| } | ||||
| 
 | ||||
| void EditorDebuggerNode::_breaked(bool p_breaked, bool p_can_debug, int p_debugger) { | ||||
| void EditorDebuggerNode::_breaked(bool p_breaked, bool p_can_debug, String p_message, bool p_has_stackdump, int p_debugger) { | ||||
| 	if (get_current_debugger() != get_debugger(p_debugger)) { | ||||
| 		if (!p_breaked) { | ||||
| 			return; | ||||
|  | @ -489,6 +489,19 @@ void EditorDebuggerNode::set_breakpoint(const String &p_path, int p_line, bool p | |||
| 	}); | ||||
| } | ||||
| 
 | ||||
| void EditorDebuggerNode::set_breakpoints(const String &p_path, Array p_lines) { | ||||
| 	for (int i = 0; i < p_lines.size(); i++) { | ||||
| 		set_breakpoint(p_path, p_lines[i], true); | ||||
| 	} | ||||
| 
 | ||||
| 	for (Map<Breakpoint, bool>::Element *E = breakpoints.front(); E; E = E->next()) { | ||||
| 		Breakpoint b = E->key(); | ||||
| 		if (b.source == p_path && !p_lines.has(b.line)) { | ||||
| 			set_breakpoint(p_path, b.line, false); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void EditorDebuggerNode::reload_scripts() { | ||||
| 	_for_all(tabs, [&](ScriptEditorDebugger *dbg) { | ||||
| 		dbg->reload_scripts(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ev1lbl0w
						Ev1lbl0w