1

我正在尝试查看与可执行文件关联的源代码lab13。当我单击 KCachegrind 中的Source选项卡时,我看到的只有以下内容:

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'

但是,我在我的使用-g调试标志makefile

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 文档,但没有关于如何激活Source选项卡功能的信息。

我在 OSX 上编译了程序,并通过 X11 运行 KCachgrind。我正在callgrind.out从与代码相同的目录中读取文件。所有其他 KCachgrind 功能似乎都可以工作。

如何使“”选项卡工作?

4

1 回答 1

0

您应该在配置文件 ( cf ) 中查找 "fl=" 行,并确保源文件在 "fl=" 行中给出的路径下可用。

于 2013-02-17T17:21:00.510 回答