2012-08-16 5 views
8

Xcode 프로젝트에 MonoTouch를 임베드하고 모노 런타임에서 사용하기 때문에 LLDB 디버거가 SIGBUS 신호를 처리하지 못하게하려고합니다. 어떻게해야합니까?LLDB 디버거에게 SIGBUS를 처리하지 않도록 알리는 방법은 무엇입니까?

+1

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 "트릭을 수행해야합니다. –

답변

18

"handle handle"명령을 사용하여 lldb가 신호를 가로 채거나 전달하는 방법을 제어 할 수 있습니다. 귀하의 경우를 들어,

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

이제 신호가 lldb이 방법으로받지 않고 프로세스에 전달됩니다 수행 할 것입니다. "NOTIFY"필드는 lldb가 신호를 수신했는지 여부를 표시합니다. 기본값은 디버거 콘솔에 인쇄되지만 현재는 일어나지 않는 것입니다. 그러나 신호는 올바르게 전달됩니다. 이것은 중요한 비트입니다.

+3

XCode에서 이것을 설정할 수있는 방법이 있습니까? – ed22

+1

중단 점 추가 예 : main()에서 실행 한 다음 중단 점 동작에서이 줄이있는 LLDB 명령을 추가 한 다음 "중단 점 이후 계속"확인란을 선택하십시오. – uliwitness

+1

Xcode에서 이것을 자동으로하려면, ~/.lldbinit-Xcode'에 명령을 추가하십시오. 명령 행에서'lldb'를 사용하는 경우에도 이것을 적용하려면'~/.lldbinit'에 추가하십시오. – Buzzy

관련 문제