Files
bun.sh/misctools/lldb/init.lldb
2025-09-30 17:25:17 -07:00

27 lines
1.2 KiB
Plaintext

# 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