如何生成用于Linux版本的英特尔VTune放大器的符号信息?

时间:2011-01-14 21:25:25

标签: performance intel vtune profiling

我正在使用英特尔VTune Amplifier XE 2011来分析我的程序的性能。我希望能够在分析结果中查看源代码,文档说我需要提供符号信息。不幸的是,它没有说明在编译程序时如何生成符号信息。在Windows版本的VTune中,我所要做的只是提供Microsoft Visual Studio将生成的“.pdb”文件。我可以用g ++创建一个类似的文件来提供这个符号信息吗?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

gcc -g <your stuff>应该是所有必要的。但是我使用的是旧版本。

较新资料的命令行选项为here

编辑: 这个SO answer可能比这里的任何东西都更有价值。

答案 2 :(得分:0)

使用GCC获取可执行文件以包含调试信息的最“经典”方法是指定其他海报提到的“-g”命令行选项。由于调试信息驻留在不属于代码或数据段的ELF部分中,因此不会产生任何性能损失。也就是说,.debug *部分在正常的程序执行期间没有映射到内存中,它只是调试器获取它们时的调试时间。

任何使用生产软件的开发人员的另一个有用的考虑因素是使用separate debug information files。这假定如上所述用“-g”编译程序,然后使用objcopy实用程序将包含调试信息的ELF部分复制到单独的文件中,并将原始二进制文件中的链接添加到单独的调试信息文件中。这对于能够存储您发布给客户的位的调试信息非常有用,以便可以进行事后调试。当然,也可以对发布位进行性能分析。