我已经尝试在我编写的应用程序上运行 valgrind(memcheck 和 massif),但我得到的只是所执行函数的地址。
---------------------------------
Context accounted for 0.6% of measured spacetime
0x805F29A: (within prog_name)
0x8141740: (within prog_name)
Called from:
0.6% : 0x812E077: (within prog_name)
---------------------------------
Context accounted for 0.5% of measured spacetime
0x805F29A: (within prog_name)
0x81418FB: (within prog_name)
Called from:
0.5% : 0x812E077: (within prog_name)
我使用 -g 标志编译我的应用程序以放入调试符号。还有其他原因导致 valgrind 不显示源代码行吗?
编辑:valgrind 版本 3.2.1-Debian; g++ 4.3.1
最佳答案
我发现我在编译时将 -g
和 -ggdb
标志都传递给了 g++
。省略 -g
标志导致此问题消失。
关于c++ - Valgrind 不会返回源代码行!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4018935/