2011-11-15 4 views
0

내 멀티 스레드 응용 프로그램에서 세그먼트 화 오류가 발생하여 골치 거리가되고 있습니다. 문제가 귓속말 전화에서 생성 된 것 같습니다. 나는 nanosleep으로 바꾸려고했지만 계속됩니다. 또한 sem_timedwait 호출 근처에 나타납니다.다중 스레드 응용 프로그램의 세그먼트 오류

gcc 및 -lpthread 옵션을 사용하여 컴파일합니다.

세그멘테이션 결함이 원인 일 수 있습니까? 그 이유는 무엇일까요?

+2

세그먼테이션 결함의 루트가 코드에 오류가있을 가능성이 큽니다. 코드를 보여줄 때까지 무엇이 잘못되었는지 설명 할 수 있습니다. –

+0

이 질문은 실제로 SO 질문/답변 형식에 맞지 않습니다. 보다 구체적인 질문을 생각해보십시오. – mydogisbox

+0

코드 디버깅에 도움이 필요하면 MINIMAL COMPLETE 예제를 게시해야합니다. 게시물에 적합하도록 크기가 작아야 할뿐만 아니라 문제를 재현하는 데 필요한 모든 것을 보여줄 수 있어야합니다. 그것 없이는 도움이되지 않을 것입니다. –

답변

3

세그먼트 오류는 사용자가 권한이없는 메모리에 액세스하고 있음을 의미합니다. 일반적으로 배열 또는 부실 포인터에 대한 경계 오류 때문입니다 (예 : 무료로 접속하십시오. 수면을 호출하는 것은 수면을 동기화 도구로 사용하지 않는 한 이와 관련이있을 것 같지 않습니다! valgrind를 사용하여 오류를 추적 할 수 있습니다.

관련 문제