Macos lldb调试java进程。跳过EXC\u错误访问
我试图使调试器不在信号上停止:Macos lldb调试java进程。跳过EXC\u错误访问,macos,java-native-interface,exc-bad-access,lldb,Macos,Java Native Interface,Exc Bad Access,Lldb,我试图使调试器不在信号上停止: proc hand-p true-s false SIGBUS proc hand-p true-s false SIGSEGV 我甚至尝试在所有信号上设置-s false。 但是它仍然会停止执行EXC\u BAD\u ACCESS 它经常发生,有时可能在无限循环中。这使得调试变得不可能 有没有办法让lldb不停在这个问题上?这是一个长期存在的错误。问题在于,在调试器下运行时,Mach exception EXC_BAD_ACCESS转换为SIGSEGV的操作系
proc hand-p true-s false SIGBUS
proc hand-p true-s false SIGSEGV
我甚至尝试在所有信号上设置-s false
。但是它仍然会停止执行
EXC\u BAD\u ACCESS
它经常发生,有时可能在无限循环中。这使得调试变得不可能
有没有办法让lldb不停在这个问题上?这是一个长期存在的错误。问题在于,在调试器下运行时,Mach exception EXC_BAD_ACCESS转换为SIGSEGV的操作系统机制不可用,因此您只能在重新运行BAD ACCESS时陷入困境,但由于没有发出信号,您的处理程序就没有机会处理它。如何解决这个问题?有些程序故意造成这种错误的访问(例如JVM空检查),这使得无法通过调试器运行它们。@zakkak我还没有找到解决方案,但我没有将此答案标记为已接受,因此您可以尝试继续讨论,如果愿意,还可以分配赏金