일상의 정리

GDB 디버깅 시 SIGPIPE 무시하기

프로그래밍/C++

GDB로 네트워크 프로그램을 디버깅 할 경우 SIGPIPE 시그널로 로 멈추는 경우가 발생한다.

SIGPIPE는 끊어진 소켓에 대해 쓰기 동작을 실행할 경우 발생하며, 실제로 처리를 제대로 했다면 에러가 아니므로 디버깅할 때는 무시하는 게 편하다.

이 때 디버그 실형 명령 전에 아래 명령을 입력해 주면 해당 시그널을 무시해 준다.

handle SIGPIPE nostop noprint pass
handle SIGINT nostop noprint pass