Terminated 에러 메세지는 대체 어디서 나오는 건가요?
글쓴이: cbycby / 작성시간: 목, 2004/10/14 - 5:50오후
365일 24시간 절대 중단되어서는 안되는 프로그램을 작성중입니다.
어떤 특정한 데이타를 입력받아서 하드디스크에 계속 쓰는 작업인데...
테스트를 위해 프로그램을 실행시키면
항상 6~7시간 정도 경과후 프로그램이 종료됩니다.
분명 제가 작성한 프로그램내에서 Exception 처리및 특정 에러가 나타나면
에러메세지를 출력하게 하였지만.
Terminated 이 메세지만 달랑 하나만 나오고 프로그램이 종료됩니다.
대체 저 메세지는 어디서 나오는것일까요?
커널에서 나오는것일까요?
프로그램내에서 드라이스 드라이버와 데이타를 주고 받는데.
혹시 디바이스 드라이버와 데이타를 주고받다 디바이스 드라이버가
잘못되면 일반 어플리 케이션이 따라 죽는것일까요?
이에대해서 알고계신분의 답변을 기다립니다. :)
Forums:
strace를 걸어보시는게 좋겠군요.signal을 먹고 죽는 것
strace를 걸어보시는게 좋겠군요.
signal을 먹고 죽는 것 같아보입니다.
(혹은 segfault?)
어떤 언어/라이브러리를 사용해서 만드신건지도 중요하겠군요.
메모리 Leak인것 같습니다.
질문 올리고 계속 검토를 해 보았는데.
시스템 메모리가 부족할때 저러한 에러가 나는것 같습니다.
메모리 Leak을 잡아야 할것 같네요... :cry:
그것보다, 대체 저 메세지는 어디에 들어있길래
커널 소스, gcc 소스등에 없는지 모르겠습니다.
저 메세지 찾아보신분 계신가요?
http://www.korone.net QT 커뮤니티 사이트
[b]Terminated[/b] 라는 경고문을 예전에 MALLOC_CHE
Terminated 라는 경고문을 예전에 MALLOC_CHECK_ 레벨을 높이고서 봤었습니다. 그때 세그폴트가 나거나 메모리를 잘못사용했을때 Terminated 되었습니다.
질문을 보고.. 한번 찾아봤습니다..ㅡㅡ;;
우선, 메모리 관련이라서 malloc() 함수가 있는 libc 를 찾아봤습니다.
결국은 못찾았습니다만.... 아마도 libc 부분에 있지 않을까 합니다.;;;
죄송
----
I think, therefore I am.
libc에 들어있네요. (strings로 나옵니다)SIGTERM
libc에 들어있네요. (strings로 나옵니다)
SIGTERM 먹고 죽을때 내뱉는 메시지네요.
(시그널 관련 부분에 있습니다)
댓글 달기