我正在尝试在 GNU/Linux 上分析一个共享库,该库进行实时音频处理,因此性能很重要。我运行另一个程序,它将它连接到我系统的音频输入和输出,并使用 callgrind 对其进行分析。
查看 KCacheGrind 中的结果,我得到了关于哪些函数占用了我大部分时间的重要信息。但是,它不会让我逐行查看信息,而是说我需要使用调试符号编译它并再次运行分析。
我正在分析的程序不是用调试符号编译的,但库是。我知道这一点,因为有趣的是,cachegrind的源代码注释工作正常。
当我运行 callgrind 时,它说默认是转储源代码行信息,但它并没有这样做。有什么方法可以强迫它,或者弄清楚是什么阻止了它?