我正在尝试查看与可执行lab13
关联的源代码。当我在 KCachegrind 中单击"源"选项卡时,我看到的只是以下内容:
There is no source available for the following function:
'main'
This is because no debug information is present.
Recompile source and redo profile run.
The function is located in this ELF object:
'lab13'
但是,我在makefile
中使用了-g
调试标志:
lab13:main.o
g++ -g main.o -o lab13
./lab13
main.o:main.cpp EdgeArray.h Edge.h DisjointSets.h Matrix.h experiment.h
g++ -c -g main.cpp
我使用以下调用创建了callgrind.out
文件valgrind
:
valgrind --tool=callgrind --dsymutil=yes ./lab13
我查看了 KCachgrind 文档,但没有关于如何激活源选项卡功能的信息。
我在OSX上编译了该程序,并通过X11运行KCachgrind。我正在从与代码相同的目录中读取callgrind.out
文件。所有其他KCachgrind功能似乎都可以工作。
如何让"源"选项卡正常工作?
您应该在配置文件 (cf) 中查找"fl="行,并确保源文件在"fl="行中给出的路径下可用。