컴파일러를 바꾸고 나서 나타나는 문제점입니다. 도움 부탁드립
글쓴이: zieben / 작성시간: 금, 2004/04/09 - 3:23오후
wow-linux 7.1 (gcc 2.96) 에서 QT를 사용하여 프로그래밍을 하다가
이번에 wow-linux 7.3 (gcc 2.95)를 새로운 컴퓨터에 깔고 이전의 소스를 그대로 옮겨왔습니다.
그래서 컴파일을 했는데..
프로그램이 전혀 실행이 되지를 않는군요.
물론 이전 컴퓨터에서는 잘 실행되었던 코드입니다.
새 컴퓨터로 옮기고 나서 처음 컴파일을 해보니 이전 컴파일러에서는 문제없었던 여러가지 버그들( type의 중복선언들 )등을 잡길래 뭔가 좀 불안하다 싶더니..
이제는 처음 시작부터 segmentation fault를 내면서 바로 죽어버리는군요.
이걸 어떻게 해결해야 될지 막막하기만 합니다.
처음 시작하는 class의 constructor에 가장 첫줄에다가cerr << "test" << endl;
등의 문장을 넣어도 이 문장조차 출력이 않되는군요.
아무리 생각해도 컴파일러 이외의 문제는 없을것 같은데..
혹시 이런 경험이 있으신분 조언주시면 정말 감사하겠습니다.
Forums:
디버깅
core파일을 만들어서 어디서 프로그램이 죽는지 먼저 알아보세요.
$ ulimit -c 2048000
해서 코어파일 사이즈를 바꿔주세요.
$ ulimit -a
코어파일 사이즈가 2048000으로 바뀌었는지 확인
다시 컴파일 실행하면 세그먼테이션폴트 나면서 코어파일이 만들어집니다.
$ gdb 실행파일명 코어파일명
where
감사합니다.
정말로 감사드립니다.
이전에 다른 사람이 설치해놓은 컴퓨터에서는 프로그램이 죽으면 core파일이 생성되서 gdb를 통해서 항상 원인이 되는 function을 찾을수 있었는데..
제가 새로 설치한 컴퓨터에서는 죽어도 core파일이 생성이 않되길래 의아해했었는데..
그런 설정이 필요했었군요. ^^;;
많은 도움이 되었습니다.
댓글 달기