lldb打破了SIGSEGV

qdo*_*dot 6 debugging gdb segmentation-fault lldb

来自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
Run Code Online (Sandbox Code Playgroud)

编辑:更多信息:

(lldb) bt all
error: invalid thread
Run Code Online (Sandbox Code Playgroud)

我怀疑lldb对于损坏的堆栈并不好玩 - 我正在尝试追踪涉及_NSExtensionMain入口点的问题,或者那里的某些事情.

Viv*_*enG 6

你应该process handle SIGSEGV --notify true --pass true --stop true根据这个输入 lldb 。

(lldb)进程句柄 SIGSEGV --notify true --pass true --stop true