프로그램을 valgrind로 돌려봤습니다.
valgrind --leak-check=full -v
위 옵션으로 돌렸는데 에러가 두개가 리포팅 되네요.두개 모두 아래와 같은 메시지를 남겼습니다. 프로그램은 뭐 잘 돌아갑니다만 아무래도 찝찝하네요.
Invalid read of size 4
이게 무엇을 의미 하는지 아시나요?
초기화되지 않은 메모리 내용을 읽었다는 뜻입니다. 4 byte이니까 (32-bit system 가정) int, long, pointer 등의 값이 저장되는 변수에서, 값을 대입하지 않고 바로 읽은 경우가 대부분일 것입니다.
-- C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
일단 답변감사합니다.
점심먹고 좀 쳐다보니 어디가 문제였는지 금방 감이 오더군요.
대부분 잘못된 크기의 메모리 할당, 말씀하신것 처럼 초기화되지 않은 메모리...OTL.. 내가 이렇게 생각없이 만든곳이 많구나 하는 생각이 들더라구요...ㅡㅡ;
valgrind를 이름만 들어오다가 직접 써보니 정말 좋군요..진작에 쓸것을...아직 초보티 벗을려면 먼것 같습니다 ㅜㅜ
p.s CFAQ 잘 읽고 있습니다. 짬날때마다 한두챕터씩 복사해서 퇴근할때 읽고 있습니다. 거의다 읽었군요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
초기화되지 않은
초기화되지 않은 메모리 내용을 읽었다는 뜻입니다. 4 byte이니까 (32-bit system 가정) int, long, pointer 등의 값이 저장되는 변수에서, 값을 대입하지 않고 바로 읽은 경우가 대부분일 것입니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
헛 답변이.
일단 답변감사합니다.
점심먹고 좀 쳐다보니 어디가 문제였는지 금방 감이 오더군요.
대부분 잘못된 크기의 메모리 할당, 말씀하신것 처럼 초기화되지 않은 메모리...OTL.. 내가 이렇게 생각없이 만든곳이 많구나 하는 생각이 들더라구요...ㅡㅡ;
valgrind를 이름만 들어오다가 직접 써보니 정말 좋군요..진작에 쓸것을...아직 초보티 벗을려면 먼것 같습니다 ㅜㅜ
p.s CFAQ 잘 읽고 있습니다. 짬날때마다 한두챕터씩 복사해서 퇴근할때 읽고 있습니다. 거의다 읽었군요.
댓글 달기