나는 내부에서 거대한 응용 프로그램에 특정 메시지가 인쇄되어 있는지 알고 싶습니다. 응용 프로그램은 터미널에 텍스트를 인쇄 할 수있는 모든 방법을 사용하기에 너무 크고 오래되었습니다. (printf(), fprintf (stdout, ...) 등)gdb에서 "무언가가 터미널에 인쇄됩니다"에 중단 점을 넣을 수 있습니까?
write() 시스템 콜에 breakpoint를 씀으로써 쓰기를하지만 그 다음에는 너무 많은 breakpoint로 인해 여러 파일 I/O 작업은 write()도 사용합니다.
그래서 기본적으로 프로그램이 터미널에 뭔가를 인쇄 할 때마다 gdb를 멈추고 싶지만 동시에 프로그램에서 파일에 무언가를 쓸 때 gdb를 멈추게하고 싶지는 않습니다.
표준 출력 버퍼 및 특정 문자열이 파이프에 보관 될 때 중단?] (http://stackoverflow.com/questions/8235436/how-can-i-monitor-whats-being-put-into-the-standard- out-buffer-and-break-when-a) –
터미널에 나타나는 "무언가"에 대한 소스를'grep' 할 수 없습니까? – Calmarius