![gdb에서 사용될 때 `handle SIG33 pass nostop noprint`는 무엇을 합니까?](https://linux55.com/image/9512/gdb%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EB%90%A0%20%EB%95%8C%20%60handle%20SIG33%20pass%20nostop%20noprint%60%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9D%84%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
gdb에서 일반적으로 제공되는 디버깅 명령은 다음과 같습니다.
gdb $package
set logging on
set pagination 0
handle SIG33 pass nostop noprint
run
물론 추적 등을 수집하는 것 외에도. 위 중에서 어떤 것이 있나요?
handle SIG33 pass nostop noprint
어디에 사용해야 하고 어디에 사용하면 안 되나요?
답변1
handle SIG33
gdb
제공한 버전에서 신호 33으로 무엇을 해야 하는지 알려주십시오 pass
. 이는 신호를 전달하고 nostop
신호가 방출될 때 디버거에 멈추지 말고 noprint
아무것도 인쇄하지 않도록 지시하는 것을 의미합니다.
이 지시문은 내부적으로 신호를 사용하는 런타임을 디버깅할 때 유용합니다. Signal 33은 Android의 Bionic에서 사용됩니다(역추적용). 이를 무시하지 않으면 항상 중지되게 됩니다. Flash에 대한 유사한 지침이 표시됩니다(적어도 신호 32 및 33, IIRC 포함).