How to tell LLDB debugger not to handle SIGBUS?

2019-02-02 13:24发布

问题:

I'm embedding MonoTouch in an Xcode project, and want to stop LLDB debugger from handling SIGBUS signals, since they are used by the mono runtime. How can I do that?

回答1:

You can control how lldb intercepts/passes signals with the "process handle" command. For your case, you'd want to do

(lldb) pro hand -p true -s false SIGBUS
NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGBUS      true   false  true 

now the signals will be passed to your process without lldb getting in the way. The "NOTIFY" field indicates whether lldb should print that the signal was received - the default is that it will be printed in the debugger console but that doesn't seem to be happening right now. But the signal is correctly passed along, which is the important bit.