作为来自Linux/gdb世界的人,gdb默认在检测到SEGV时中断程序的执行,然后由默认处理程序清理进程。
lldb如何实现类似的技巧?目前,该进程只是退出,从而无法查询回溯等信息。
编辑:proccess handle -p true -n true -s true
尝试过了,但没有结果 :(
(lldb) process handle -p true -n true -s true SIGSEGV
NAME PASS STOP NOTIFY
========== ===== ===== ======
SIGSEGV true true true
(lldb) run
Process 97630 launched: '/Volumes/My Finder Extensions 1/My_Daemon.app/Contents/PlugIns/My_ShellExt.appex/Contents/MacOS/My_ShellExt' (x86_64)
Process 97630 exited with status = 0 (0x00000000) Terminated due to signal 9
编辑:更多信息:
(lldb) bt all
error: invalid thread
我怀疑lldb
不太适用于损坏的堆栈 - 我正在尝试追踪涉及_NSExtensionMain
入口点或与之相关的问题。