我试图让调试器不在信号上停止: proc hand -p true -s false SIGBUS proc hand -p true -s false SIGSEGV 我甚至尝试将-s false应用于所有信号。 但它仍会在EXC_BAD_ACCESS上停止执行。 这经常发生,有时可能会无限循环。这使得调试变得不可能。 有没有办法让lldb不在这种情况下停止?
这是一个长期存在的 bug。问题在于,在调试器下运行时,操作系统将 Mach 异常 EXC_BAD_ACCESS 转换为 SIGSEGV 的机制不可用,因此您会一直卡在错误访问上,但由于没有信号被触发,您的处理程序就没有机会处理它。