가끔 SIGKILL
신호를받는 Ubuntu 10.04 용 C++ 앱을 디버깅하고 있습니다. 나는 을 잡아 신호를 잡아 당겨 실행을 중단하지 못하게하고, 정확한 순간에 앱의 상태에 대한 유용한 정보를 얻을 수 있는지 확인합니다.gdb로 신호 처리하기
gdb documentation 읽기 나는 handle
명령을 발견, 그래서 SIGKILL 신호에 적용하려고 :이 올바르게 이해,
(gdb) handle SIGKILL stop nopass
Signal Stop Print Pass to program Description
SIGKILL Yes Yes No Killed
그래서 :
stop
GDB should stop your program when this signal happens. This implies the print keyword as well.
print
GDB should print a message when this signal happens.
nopass
GDB should not allow your program to see this signal.
SIGKILL
신호 한 번 gdb
이 어떻게 든 그것을 잡아서 메시지를 인쇄하고, 실행을 멈추고, 앱이 스스로를 죽이지 않도록해야합니까?
문제는 이것이 발생하지 않으며 앱이 종료된다는 것입니다.
내가 어떻게 을 잡을 수 있었는지 알 수 있습니까? 신호가 있습니까?
유용한 정보 :
- 방출되는 신호가 다른 스레드에 을 실행할 때 실행되는 코드의 단편.
- GDB 버전 : 4.4.3
- g ++ 버전 : 7.1
입니다. 나는 정보를 얻는 다른 방법을 찾아야 할 것이다. 고마워요 @ Klaus, 맨 페이지를 처음부터 확인하고 작업을해야했습니다. –