GDB에서 부동 소수점 예외 (SIGFPE)를 잡아 내고 프로세스로 전달하지 않고 계속 디버깅을 계속하려고합니다. 나는 GDB이 준하십시오 SIGFPE은 GDB가 올바른 위치에서 정지 발생하면GDB : 신호 잡기 및 디버깅 계속
handle SIGFPE stop nopass
합니다. 문제는 디버깅을 계속할 수 없다는 것입니다. 내가
continue
또는
signal 0
GDB
를주는 시도했지만 여전히 문제가되는 라인에 달려 계속 거부합니다.
신호를받은 후 디버깅을 계속할 수 있습니까?
내가 직접 컴파일 한 GDB 7.5.1을 사용하고 있으며, 12.04 우분투 배포본과 함께 제공되는 GDB 7.4를 사용해 보았습니다. 둘 다 같은 행동을합니다.
통찰력을 가져 주셔서 감사합니다. 당신이 신호를 멈추고 나서 GDB에게 "SIGFPE nostop nopass를 처리하려고했다"고 말한 다음, 계속하기를 시도 했으므로, 다시 시작한 후 두 번째로 신호를 무시합니다. 하지만 GDB 솔기는 그 후에 매달려서 다시 멈출 수 없습니다. 정말 간단한 솔루션이었을 것입니다. 이제 수동으로 프로그램 카운터를 움직여야합니다. – Sogartar
이렇게하면 명령을 건너 뛰지 않고 정확히 같은 방법으로 프로그램을 실행할 수있는 방법이 없습니다. – Sogartar
@Sogartar 당신은 똑같은 방식으로 실행하고 정확히 같은 결과를 얻습니다. – Ruslan