如何让callgrind转储源代码行信息?

Jer*_*wen 5

我正在尝试在GNU/Linux上分析一个共享库来进行实时音频处理,因此性能非常重要.我运行另一个程序,它将它连接到我的系统的音频输入和输出,并使用callgrind配置它.

查看KCacheGrind中的结果,我可以获得有关哪些函数占用大部分时间的大量信息.但是,它不会让我看一行一行的信息,而是说我需要用调试符号编译它并再次运行分析.

我正在分析的程序没有使用调试符号编译,但库是.我知道这一点,因为有趣的是,cachegrind的源代码注释工作正常.

当我运行callgrind时,它说默认是转储源行信息,但它只是没有这样做.有什么方法可以强制它,或弄清楚是什么阻止它?

Dou*_*der 0

您是否用于--dump-instr=yes --trace-jump=yes获取指令级别信息?

  • 这些选项显示汇编指令级别,而不是 C/C++ 源代码级别。 (3认同)