Merge pull request #29134 from ibrahn/fix-crashhandler-msg-lookup
Check project settings live before lookup in crash handler
This commit is contained in:
commit
9738ed567c
|
@ -77,7 +77,12 @@ static void handle_crash(int sig) {
|
||||||
void *bt_buffer[256];
|
void *bt_buffer[256];
|
||||||
size_t size = backtrace(bt_buffer, 256);
|
size_t size = backtrace(bt_buffer, 256);
|
||||||
String _execpath = OS::get_singleton()->get_executable_path();
|
String _execpath = OS::get_singleton()->get_executable_path();
|
||||||
String msg = GLOBAL_GET("debug/settings/crash_handler/message");
|
|
||||||
|
String msg;
|
||||||
|
const ProjectSettings *proj_settings = ProjectSettings::get_singleton();
|
||||||
|
if (proj_settings) {
|
||||||
|
msg = proj_settings->get("debug/settings/crash_handler/message");
|
||||||
|
}
|
||||||
|
|
||||||
// Dump the backtrace to stderr with a message to the user
|
// Dump the backtrace to stderr with a message to the user
|
||||||
fprintf(stderr, "%s: Program crashed with signal %d\n", __FUNCTION__, sig);
|
fprintf(stderr, "%s: Program crashed with signal %d\n", __FUNCTION__, sig);
|
||||||
|
|
|
@ -166,11 +166,16 @@ DWORD CrashHandlerException(EXCEPTION_POINTERS *ep) {
|
||||||
line.SizeOfStruct = sizeof(line);
|
line.SizeOfStruct = sizeof(line);
|
||||||
IMAGE_NT_HEADERS *h = ImageNtHeader(base);
|
IMAGE_NT_HEADERS *h = ImageNtHeader(base);
|
||||||
DWORD image_type = h->FileHeader.Machine;
|
DWORD image_type = h->FileHeader.Machine;
|
||||||
int n = 0;
|
|
||||||
String msg = GLOBAL_GET("debug/settings/crash_handler/message");
|
String msg;
|
||||||
|
const ProjectSettings *proj_settings = ProjectSettings::get_singleton();
|
||||||
|
if (proj_settings) {
|
||||||
|
msg = proj_settings->get("debug/settings/crash_handler/message");
|
||||||
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Dumping the backtrace. %ls\n", msg.c_str());
|
fprintf(stderr, "Dumping the backtrace. %ls\n", msg.c_str());
|
||||||
|
|
||||||
|
int n = 0;
|
||||||
do {
|
do {
|
||||||
if (skip_first) {
|
if (skip_first) {
|
||||||
skip_first = false;
|
skip_first = false;
|
||||||
|
|
|
@ -53,7 +53,12 @@ static void handle_crash(int sig) {
|
||||||
void *bt_buffer[256];
|
void *bt_buffer[256];
|
||||||
size_t size = backtrace(bt_buffer, 256);
|
size_t size = backtrace(bt_buffer, 256);
|
||||||
String _execpath = OS::get_singleton()->get_executable_path();
|
String _execpath = OS::get_singleton()->get_executable_path();
|
||||||
String msg = GLOBAL_GET("debug/settings/crash_handler/message");
|
|
||||||
|
String msg;
|
||||||
|
const ProjectSettings *proj_settings = ProjectSettings::get_singleton();
|
||||||
|
if (proj_settings) {
|
||||||
|
msg = proj_settings->get("debug/settings/crash_handler/message");
|
||||||
|
}
|
||||||
|
|
||||||
// Dump the backtrace to stderr with a message to the user
|
// Dump the backtrace to stderr with a message to the user
|
||||||
fprintf(stderr, "%s: Program crashed with signal %d\n", __FUNCTION__, sig);
|
fprintf(stderr, "%s: Program crashed with signal %d\n", __FUNCTION__, sig);
|
||||||
|
|
Loading…
Reference in New Issue