2013-02-22 6 views
0

때이 같은 Valgrind의의 memcheck, 때때로 Valgrind의 보고서 오류를 실행 :이 오류 보고서에서 내 코드에 대한 단서가 없다Valgrind 보고서 쓰기 오류? 왜?

 
==2745== Memcheck, a memory error detector 
==2745== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. 
==2745== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info 
==2745== Command: ./HSFramework 
==2745== 
==2745== Invalid write of size 8 
==2745== at 0x3B81C097C0: do_lookup_x (in /lib64/ld-2.12.so) 
==2745== by 0x1C31032D: ??? 
==2745== by 0x3B81C09E19: _dl_lookup_symbol_x (in /lib64/ld-2.12.so) 
==2745== Address 0x7feffee78 is on thread 1's stack 
==2745== 

platform: Linux 2.6.32-220.el6.x86_64 x86_64 x86_64 x86_64 GNU/Linux 

. 이 오류 보고서에 대해 잘 알지 못했습니다.
어떤 이유로이 오류가 발생합니까?

+0

당신은 당신의 코드에 대한 단서가 없습니다 우리 코드 – cIph3r

+1

보여줄 수 있을까? 얼마만큼 코드를 페어링 할 수 있으며 여전히이 오류가 발생하며 어떤 빈도로 생성됩니까? valgrind는 일반적으로 변덕에 대한 오류를보고하지 않습니다. 일반적으로 이유가 있습니다. – WhozCraig

+0

나는 내 코드에 대한 단서를 발견했다. – user2098323

답변

0

이 오류는 소스를 보거나 공유하는 경우 do_lookup_x에서 버퍼 오버런이 발생하고 있음을 의미합니다.

http://valgrind.org/docs/manual/quick-start.html

+0

스택에 훨씬 많은 메모리를 할당하면 스택 오버플로가 발생하는 오류가 있습니다. – user2098323

+0

도움을 주셔서 대단히 감사드립니다. – user2098323

0

이것은 do_lookup_x 함수가 잘못된 쓰기 액세스를 수행했음을 의미합니다. 해당 기능은 runtime library에 속합니다 (문제의 출처는 아닐 것입니다). HSFramework의 저자에게 valgrind를 실행하여이 문제를 해결할 수 있는지 문의하십시오.

+0

이 문제가 해결되었습니다. 나는 스택 대신 힙에서 크기가 큰 메모리를 할당합니다. – user2098323

+0

도움을 많이 주셔서 감사합니다. – user2098323