I maintain a Python library that’s written in C++ (using Pybind11). For the past couple of years, I’ve been able to debug it just fine with
lldb, just by compiling the extension in debug mode (i.e.: disabling optimization and including symbols, with
However, as of
lldb-1300.0.42.3 on macOS Ventura 13.1 (22C65),
lldb is completely unable to find the symbols and reports every stack frame as being from dyld:
(lldb) bt * thread #2, stop reason = signal SIGSTOP frame #0: 0x0000000187110a00 frame #1: 0x00000001003700fc dyld frame #2: 0x00000001003e2614 dyld frame #3: 0x00000001003dfbac dyld frame #4: 0x00000001003e3188 dyld frame #5: 0x000000010033df20 dyld frame #6: 0x000000010033d754 dyld frame #7: 0x00000001003dfe28 dyld frame #8: 0x00000001003e3188 dyld frame #9: 0x000000010033df20 dyld * frame #10: 0x000000010033d754 dyld frame #11: 0x00000001003dfe28 dyld frame #12: 0x00000001003e3188 dyld frame #13: 0x000000010033df20 dyld frame #14: 0x00000001003e2614 dyld ...
dlopen(which does not get hit)
image listto show the loaded binary images (which does not include my Python extension)