[해결] 프로그램을 실행시켰더니 오류가 떴어요...;; 도움 부탁!!
글쓴이: sincerescent / 작성시간: 월, 2009/05/11 - 8:31오후
컴파일과 링크를 어렵게 마치고 프로그램 실행을 했는데 이런 오류가 떴어요...
무슨 뜻인가요?;; 도움을 부탁드립니다.....
*** Break *** segmentation violation Using host libthread_db library "/lib64/tls/libthread_db.so.1". Attaching to program: /proc/29531/exe, process 29531 [Thread debugging using libthread_db enabled] [New Thread 182957215168 (LWP 29531)] 0x000000383548fe24 in waitpid () from /lib64/tls/libc.so.6 #1 0x0000003835439bcf in do_system () from /lib64/tls/libc.so.6 #2 0x0000002a95d3c3ac in TUnixSystem::StackTrace () from /usr/local/root_v5.16.00/lib/libCore.so #3 0x0000002a95d39188 in TUnixSystem::DispatchSignals () from /usr/local/root_v5.16.00/lib/libCore.so #4 <signal handler called> #5 0x000000000040feb9 in main (argc=Variable "argc" is not available. ) at qc_mon.cc:58
Forums:
어떤 프로그램인지
어떤 프로그램인지 알려 주셔야 답을 할 수 있을 것 같습니다.
---- 절취선 ----
http://blog.peremen.name
측정된 데이터를
측정된 데이터를 읽어들여서 계산한 뒤, 그래프로 그리는 프로그램이예요.
수백개의 장비가 사용되는 실험에 관한 프로그램이라서 사용되는 라이브러리와 함수가 많아요.
전 그중에 일부분을 맡은건데.. 프로그래밍 초짜라서 에러메시지를 보고도 제가 어떤식의 잘못을 한건지 전혀 감이 안잡히네요...
제가 찾아보았더니
찾아봤더니...
라네요.. 근데 이게 무슨 뜻인지 모르겠어요. 대략 제가 배열이나 포인터 사용을 잘못했다는 뜻인것 같긴한데....;;
적으신대로
적으신대로 '어딘가에서' 포인터등을 잘 못다루었을 때 주로 발생합니다.
실제로 뭐가 문제인지는 이걸로는 '절대로' 알수 없고, 소스코드를 봐야합니다.
말씀하신걸보면 간단한 프로그램도 아닌듯 한데, 이러면 소스코드 얼핏봐서 알긴 힘들듯하고요, 직접 디버거 돌려서 찾으시는수밖에 없을듯하네요.
네.. 저같은 초보가
네.. 저같은 초보가 이런걸 맡아서 정말 고군분투하는 중이예요..;;
gdb라는 디버거 사용법을 공부해보려고 합니다.
근데 #5에 그나마 qc_mon.cc의 58번째 줄이 이상이 있다는 소리같아서 봤는데 memcpy(&trun, argv[4], sizeof(int)); 입니다. 제가 뭘 잘못했을까요. 추측이라도 댓글 주시면 감사하겠습니다ㅠ 이상한 건.. 바로 윗줄의 memcpy(&run, argv[3], sizeof(int));는 에러메시지가 안 떴다는 거죠. run과 trun 모두 int 형이고, 초기화도 시켰는데 말예요.
아, 그리고 이 부분은 모두 int main(int argc, char *argv[8]) 함수 내에 있습니다.
실행화일의 파라메터가 부족
예를 들면,
1번(OK)
c:\>RunGraphic.exe 0 1 2 3 4 5 6 7
2번(NG)
c:\>RunGraphic.exe 0 1 2
인수로 몇개가 들어올지 모르는 경우같은데,
고정으로 네번째 인수를 참조했으니,
프로세스가 죽을 수 밖에 없겠지요.
메인함수에 인자수를 검사하는 루틴이 필요하고 생각됩니다.
감사합니다. 해결되었습니다. (__)꾸벅
4번째 인수를 넣지 않아서 나오는 오류였네요;;;;
정말 이런 어이없는 실수를...;;;;
phonon님의 말씀이 맞아요ㅎ
당연히 프로세스가 죽을 수 밖에..
근데, 그런 간단한 경우에도 이렇게 복잡해보이는 오류가 나는군요..ㅎ
어쨌든 여러분들 덕분에 문제가 해결되었어요~ 감사합니다.
p.s.아이디가 물리학쪽이시네요?ㅎ 반가워요~ 입자물리 저는 전공을 하는 학생입니다^^
이 프로그램은 그 쪽에 관한거예요ㅎ
댓글 달기