# This file is separate from .lldbinit because it has to be in the same directory as the Python # modules in order for the "attach" action to work. # Tell LLDB what to do when the debugged process receives SIGPWR: pass it through to the process # (-p), but do not stop the process (-s) or notify the user (-n). # # JSC's garbage collector sends this signal (as configured by Bun WebKit in # Thread::initializePlatformThreading() in ThreadingPOSIX.cpp) to the JS thread to suspend or resume # it. So stopping the process would just create noise when debugging any long-running script. process handle -p true -s false -n false SIGPWR process handle -p true -s false -n false SIGUSR1 process handle -p true -s false -n false SIGUSR2 command script import -c lldb_pretty_printers.py type category enable zig.lang type category enable zig.std command script import -c lldb_webkit.py command script import -c bun_pretty_printer.py command script delete btjs command alias btjs p {printf("gathering btjs trace...\n");printf("%s\n", (char*)dumpBtjsTrace())} # do not pass SIGHUP on to child process. it is often not the real error and the stop point will be nonsensical. process handle -p false -s false -n true SIGHUP