如何分析valgrind的输出

时间:2014-11-03 08:57:44

标签: linux valgrind

使用valgrind处理项目以检查进程中的代码。我从valgrind那里得到了错误。但未指定文件名和行号。我搜索并猜测可能有一个错过的符号表。但是我在gdb中运行它,我可以在其中获取源代码,看起来就像符号表一样。

以下是valgrind的输出。

45 ==10858==    by 0x808855E: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
46 ==10858==    Address 0x6fdb0cc is 24,244 bytes inside a block of size 24,640 free'd   
47 ==10858==    at 0x6CEB51D: free (vg_replace_malloc.c:325)   4   
48 ==10858==    by 0x8087079: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
49 ==10858==    by 0x808BB1A: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
50 ==10858==    by 0x80AE3AD: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
51 ==10858==    by 0x813FADA: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
52 ==10858==    by 0x808B55A: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
53 ==10858==    by 0x8088593: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
54 ==10858==    by 0x808E175: ??? (in /repo3/mydir/project1/sw/build/automod/lt_l.exe)
55 ==10858==    by 0x9A8A5A: makecontext (in /lib/libc-2.5.so) 
56 ==10858==    by 0x808855E: ??? (in /repo3/mydir/project1/sw/build/automod

如何找到问题所在?没有指定文件名和行号。是由makefile引起的? (我们使用复杂的makefile)。或者只是通过上面的输出,我仍然可以找到错误的代码?

编辑:我可以使用gdb来查看上面的堆栈地址以找到错误的代码吗?

谢谢!

0 个答案:

没有答案
相关问题