간헐적인 thread 생성시 발생하는 segment fault
안녕하세요
c++로 개발을 하고 있는데, gdb 사용하다 한가지 의문 사항이 있어서 문의 드립니다.
다음 내용은 delete로 thread를 죽이는 경우를 나타내고 있는데,
정상 동작하는 경우는 재현 2 처럼
([Thread 0xb7fdd9b0 (LWP 23492) exited]
exited가 나오는 것인가 알고 싶습니다.
간혹, 재현 1 처럼
exited가 나오지 않고 죽는 경우도 있는데, 이의 경우는 잘못된게 아닌가 싶은데 맞나요?
혹시 저와 같은 문제를 겪어보신분 계시나요?
만약 없다면, 이런 문제는 어떤식으로 접근을 해야 하는지 알고 싶습니다.
P.S.
매우 난해한 질문이어서 지송합니당~~~
--------------------------------------------------------------------------------------------------------------------
재현 1
--------------------------------------------------------------------------------------------------------------------
(gdb) r
Starting program: /data/Project/XXX/TestXXX/Linux/TestXXX
[Thread debugging using libthread_db enabled]
TestCommAgent::testAddComm[New Thread 0xb7c836d0 (LWP 23487)]
[New Thread 0xb7f7a9b0 (LWP 23490)]
ETHERNET CLOSE
: OK
OK (1)
Program exited normally.
----------------------------------------------------------------------------------------------------------
재현 2
----------------------------------------------------------------------------------------------------------
Starting program: /data/Project/XXX/TestXXX/Linux/TestXXX
[Thread debugging using libthread_db enabled]
TestCommAgent::testAddComm[New Thread 0xb7ce66d0 (LWP 23491)]
[New Thread 0xb7fdd9b0 (LWP 23492)]
ETHERNET CLOSE
: OK
OK ([Thread 0xb7fdd9b0 (LWP 23492) exited]
1)
Program exited normally.
(gdb)
댓글 달기