當我在我的代碼運行Valgrind的,我得到的如何解決valgrind池分配器問題?
12 bytes in 1 blocks are possibly lost in loss record 545 of 29,459
at 0x7FCC050: operator new(unsigned int) (vg_replace_malloc.c:214)
by 0x87E39B1: __gnu_cxx::new_allocator<T>::allocate(unsigned int, void const*) (new_allocator.h:89)
...
...
從各個崗位我能確定這是「不是一個錯誤,而是一個功能」幾千個例子,因爲它是GNU的方式庫爲stl提供高效的分配。也就是說,看到其中的數千個數據庫很難找到真正的錯誤。
如何設置Valgrind不顯示這些錯誤?
注:我已經嘗試設置環境變量GLIBCXX_FORCE_NEW G_SLICE=always-malloc G_DEBUG=gc-friendly,resident-modules
並沒有什麼改變
您使用的是什麼版本的valgrind/gcc/libc /(和distro可能)? memchecking我的C++代碼時,我從來沒有遇到過這些問題。 – BatchyX 2010-09-07 10:39:36
gcc版本3.4.2,valgrind 2.4.0,glibc 2.3.3-98.103.408.0.PTF.486631,SuSE Linux – user108088 2010-09-07 17:15:41
這些版本嚴重過時。是不是可以用更新的軟件進行測試?這些人差不多5-7歲。自那時起,這個問題一定得到解決。 – BatchyX 2010-09-08 17:42:56