Merge pull request #114190 from voylin/fix_crash_scriptless_scene_debug
Fix error when break scriptless scene
This commit is contained in:
@@ -413,12 +413,10 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScriptLanguage *script_lang = script_debugger->get_break_language();
|
ScriptLanguage *script_lang = script_debugger->get_break_language();
|
||||||
ERR_FAIL_NULL(script_lang);
|
|
||||||
|
|
||||||
Array msg = {
|
Array msg = {
|
||||||
p_can_continue,
|
p_can_continue,
|
||||||
script_lang->debug_get_error(),
|
script_lang ? script_lang->debug_get_error() : String(),
|
||||||
script_lang->debug_get_stack_level_count() > 0,
|
script_lang && (script_lang->debug_get_stack_level_count() > 0),
|
||||||
Thread::get_caller_id()
|
Thread::get_caller_id()
|
||||||
};
|
};
|
||||||
if (allow_focus_steal_fn) {
|
if (allow_focus_steal_fn) {
|
||||||
@@ -479,19 +477,24 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
|
|||||||
|
|
||||||
} else if (command == "get_stack_dump") {
|
} else if (command == "get_stack_dump") {
|
||||||
DebuggerMarshalls::ScriptStackDump dump;
|
DebuggerMarshalls::ScriptStackDump dump;
|
||||||
int slc = script_lang->debug_get_stack_level_count();
|
if (script_lang) {
|
||||||
for (int i = 0; i < slc; i++) {
|
int slc = script_lang->debug_get_stack_level_count();
|
||||||
ScriptLanguage::StackInfo frame;
|
for (int i = 0; i < slc; i++) {
|
||||||
frame.file = script_lang->debug_get_stack_level_source(i);
|
ScriptLanguage::StackInfo frame;
|
||||||
frame.line = script_lang->debug_get_stack_level_line(i);
|
frame.file = script_lang->debug_get_stack_level_source(i);
|
||||||
frame.func = script_lang->debug_get_stack_level_function(i);
|
frame.line = script_lang->debug_get_stack_level_line(i);
|
||||||
dump.frames.push_back(frame);
|
frame.func = script_lang->debug_get_stack_level_function(i);
|
||||||
|
dump.frames.push_back(frame);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
send_message("stack_dump", dump.serialize());
|
send_message("stack_dump", dump.serialize());
|
||||||
|
|
||||||
} else if (command == "get_stack_frame_vars") {
|
} else if (command == "get_stack_frame_vars") {
|
||||||
ERR_FAIL_COND(data.size() != 1);
|
ERR_FAIL_COND(data.size() != 1);
|
||||||
ERR_FAIL_NULL(script_lang);
|
if (!script_lang) {
|
||||||
|
send_message("stack_frame_vars", Array{ 0 });
|
||||||
|
continue;
|
||||||
|
}
|
||||||
int lv = data[0];
|
int lv = data[0];
|
||||||
|
|
||||||
List<String> members;
|
List<String> members;
|
||||||
|
|||||||
Reference in New Issue
Block a user