2010-08-10 78 views
2

運行Valgrind的後,得到的日誌文件中包含了一些看起來像Valgrind的丟失符號信息

Conditional jump or move depends on uninitialised value(s) 
    at 0x3D9863AA: ??? 
    by 0x3D986287: ??? 
    by 0x3D9854AC: ??? 
Uninitialised value was created by a heap allocation 
    at 0x7FCC050: operator new(unsigned int) (vg_replace_malloc.c:214) 
    by 0x3D9A56A4: ??? 
    by 0x3D9A4EB9: ??? 

環顧四周後的錯誤,我發現下面這行,我覺得是越來越實際的內容,而不是僅僅重要???

Discarding syms at 0x3d97dba0-0x3da53de8 in /path/SomeDLL.so due to munmap() 

注意,所有???Discarding syms線指定的範圍來自地址。

什麼導致Valgrind丟棄共享庫的符號信息,我該如何解決它?

回答

2

也許你的共享庫被dlclose調用卸載。儘量避免這種情況。見Valgrind FAQ