gdb 에서 thread 생성/종료 메세지 안나오게 하기

GDB랑 멀티스레드랑 같이 사용하면 스레드 관련 메세지가 나온다

문제는 스레드가 매우자주 (뭐 1초라던가) 생겼다 없어지는 프로그램이라면...

화면에  아래와 같은 문자가 계속나와서 ...... 기존의 디버그 메세지조차 다 없애 버린다는거.....

......
[New Thread 0xb52ceb70 (LWP 30665)]
[Thread 0xb52ceb70 (LWP 30665) exited]
[New Thread 0xb52ceb70 (LWP 30666)]
[Thread 0xb52ceb70 (LWP 30666) exited]
[New Thread 0xb52ceb70 (LWP 30667)]
[Thread 0xb52ceb70 (LWP 30667) exited]
[New Thread 0xb52ceb70 (LWP 30668)]
[Thread 0xb52ceb70 (LWP 30668) exited]
[New Thread 0xb52ceb70 (LWP 30669)]
[Thread 0xb52ceb70 (LWP 30669) exited]
[New Thread 0xb52ceb70 (LWP 30670)]
[Thread 0xb52ceb70 (LWP 30670) exited]
[New Thread 0xb52ceb70 (LWP 30671)]
......
^C
Program received signal SIGINT, Interrupt.
0xb7fe1424 in __kernel_vsyscall ()
(gdb)

이것도 찾아보면 금방나오네여...

(사실 저번에도 찾았는데... 그렇게 안찾이던게(?) 오늘은 한방에 찾아지네여 신기해라...

대체 저번엔 구글에서 무슨 키워드로 검색했길래 못 찾았지 ㅠㅠ)

뭐 어떤애들은 GDB소스를 뜯어고쳐서 해결하라는 -_- 애들도 있긴하던데...

이건 좀 무리... 무리...... 수정후 리컴파일은 복잡하자나.......

그래서 다음과 같은 방법을 찾음..

역시 길은 있다는.. 못찾을 뿐이지...

$gdb ./program
Reading symbols from /home/lowid/program ...done
(gdb) set print thread-events off
(gdb) run

이제 스레드 생성/종료 이벤트 알림 메세지가 더이상 나오지 않습니다 만세!

--------------------------------------------------------------------------------------------------

GDB에서 Thread 디버깅할때 ...... 더 자세한 내용은 역시 메뉴얼 페이지를 읽어보는것이 제일 낫다..

관심있다면 한번 읽어보세요

http://sourceware.org/gdb/current/onlinedocs/gdb/Threads.html
Trackback 0 Comment 2
prev 1 2 3 4 5 6 7 ··· 13 next