Xcode 프로젝트에 MonoTouch를 임베드하고 모노 런타임에서 사용하기 때문에 LLDB 디버거가 SIGBUS 신호를 처리하지 못하게하려고합니다. 어떻게해야합니까?LLDB 디버거에게 SIGBUS를 처리하지 않도록 알리는 방법은 무엇입니까?
답변
"handle handle"명령을 사용하여 lldb가 신호를 가로 채거나 전달하는 방법을 제어 할 수 있습니다. 귀하의 경우를 들어,
(lldb) pro hand -p true -s false SIGBUS
NAME PASS STOP NOTIFY
========== ===== ===== ======
SIGBUS true false true
이제 신호가 lldb이 방법으로받지 않고 프로세스에 전달됩니다 수행 할 것입니다. "NOTIFY"필드는 lldb가 신호를 수신했는지 여부를 표시합니다. 기본값은 디버거 콘솔에 인쇄되지만 현재는 일어나지 않는 것입니다. 그러나 신호는 올바르게 전달됩니다. 이것은 중요한 비트입니다.
XCode에서 이것을 설정할 수있는 방법이 있습니까? – ed22
중단 점 추가 예 : main()에서 실행 한 다음 중단 점 동작에서이 줄이있는 LLDB 명령을 추가 한 다음 "중단 점 이후 계속"확인란을 선택하십시오. – uliwitness
Xcode에서 이것을 자동으로하려면, ~/.lldbinit-Xcode'에 명령을 추가하십시오. 명령 행에서'lldb'를 사용하는 경우에도 이것을 적용하려면'~/.lldbinit'에 추가하십시오. – Buzzy
http://stackoverflow.com/questions/10431579/permanently-configuring-lldb-in-xcode-4-3-2-not-to-stop-on-signals에 따르면, "process handle SIGBUS -n true -p true -s false "트릭을 수행해야합니다. –