You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
Enhanced debugger. ake 2.1 more productive!
Allow access more informations from remote debugger. Refector more debugger related code to allow full access to variables. Array Property Editor now can edit with more objects including remote objects. Implements `GDInstance::debug_get_globals` to query all gloabl constants avaliable in GDScriptLanguage. Show globals in debug stack variable panel. Disabe capitalize property name for remote object. Add DictionaryPropertyEdit to edit with Dictionaries. The serialization/unserialization workflow use binary data instead of dictionary to avoid send too large data. Do not stop debugger if curent break point stack has error fix #9034. Don't send all content of strings but first 80 characters from remote debugger. Add constants into the break point stack tree and remote object instance edit inspector. Remote GDScript resource object instance list constants in the property inspector. Add `self` to the local in the break point stack as a remote object. Move some functions for GDScript related to thier base classes so debugger don't rely on the gdscript module any more. The slef in the debugger tree now expanded as the instance of script instead of the script resource.
This commit is contained in:
@@ -90,6 +90,9 @@ public:
|
||||
virtual ScriptInstance *instance_create(Object *p_this) = 0;
|
||||
virtual bool instance_has(const Object *p_this) const = 0;
|
||||
|
||||
virtual const Map<StringName, Variant> &get_constants() const = 0;
|
||||
virtual const Set<StringName> &get_members() const = 0;
|
||||
|
||||
virtual bool has_source_code() const = 0;
|
||||
virtual String get_source_code() const = 0;
|
||||
virtual void set_source_code(const String &p_code) = 0;
|
||||
@@ -128,6 +131,7 @@ public:
|
||||
virtual void call_multilevel(const StringName &p_method, const Variant **p_args, int p_argcount);
|
||||
virtual void call_multilevel_reversed(const StringName &p_method, const Variant **p_args, int p_argcount);
|
||||
virtual void notification(int p_notification) = 0;
|
||||
virtual Object *get_owner() { return NULL; }
|
||||
|
||||
//this is used by script languages that keep a reference counter of their own
|
||||
//you can make make Ref<> not die when it reaches zero, so deleting the reference
|
||||
@@ -196,6 +200,7 @@ public:
|
||||
virtual String debug_get_stack_level_source(int p_level) const = 0;
|
||||
virtual void debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1) = 0;
|
||||
virtual void debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1) = 0;
|
||||
virtual ScriptInstance *debug_get_stack_level_instance(int p_level) = 0;
|
||||
virtual void debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1) = 0;
|
||||
virtual String debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems = -1, int p_max_depth = -1) = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user