diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/signals.c | 4 | ||||
| -rw-r--r-- | src/main.c | 4 | ||||
| -rw-r--r-- | src/tools/rcfile.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index f9d510b7..d79691af 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1494,8 +1494,10 @@ exit(-1); sprintf(myarg, "%d", pid); if(jit_gdb==2) execlp("gdbserver", "gdbserver", "127.0.0.1:1234", "--attach", myarg, (char*)NULL); - else + else if(jit_gdb==3) execlp("lldb", "lldb", "-p", myarg, (char*)NULL); + else + execlp("gdb", "gdb", "-pid", myarg, (char*)NULL); exit(-1); } } diff --git a/src/main.c b/src/main.c index 26185aeb..db33d9a2 100644 --- a/src/main.c +++ b/src/main.c @@ -947,11 +947,11 @@ void LoadLogEnv() p = getenv("BOX64_JITGDB"); if(p) { if(strlen(p)==1) { - if(p[0]>='0' && p[0]<='0'+2) + if(p[0]>='0' && p[0]<='0'+3) jit_gdb = p[0]-'0'; } if(jit_gdb) - printf_log(LOG_INFO, "Launch %s on segfault\n", (jit_gdb==2)?"gdbserver":"gdb"); + printf_log(LOG_INFO, "Launch %s on segfault\n", (jit_gdb==2)?"gdbserver":((jit_gdb==3)?"lldb":"gdb")); } p = getenv("BOX64_SHOWSEGV"); if(p) { diff --git a/src/tools/rcfile.c b/src/tools/rcfile.c index d04683a1..6b0f6206 100644 --- a/src/tools/rcfile.c +++ b/src/tools/rcfile.c @@ -102,7 +102,7 @@ ENTRYBOOL(BOX64_NOGTK, box64_nogtk) \ ENTRYBOOL(BOX64_NOVULKAN, box64_novulkan) \ ENTRYBOOL(BOX64_FUTEX_WAITV, box64_futex_waitv) \ ENTRYSTRING_(BOX64_BASH, bash) \ -ENTRYINT(BOX64_JITGDB, jit_gdb, 0, 2, 2) \ +ENTRYINT(BOX64_JITGDB, jit_gdb, 0, 3, 2) \ ENTRYBOOL(BOX64_NOSANDBOX, box64_nosandbox) \ ENTRYBOOL(BOX64_INPROCESSGPU, box64_inprocessgpu) \ ENTRYBOOL(BOX64_EXIT, want_exit) \ |