我正在使用英特尔VTune Amplifier XE 2011来分析我的程序的性能。我希望能够在分析结果中查看源代码,文档说我需要提供符号信息。不幸的是,它没有说明在编译程序时如何生成符号信息。在Windows版本的VTune中,我所要做的只是提供Microsoft Visual Studio将生成的“.pdb”文件。我可以用g ++创建一个类似的文件来提供这个符号信息吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
答案 2 :(得分:0)
使用GCC获取可执行文件以包含调试信息的最“经典”方法是指定其他海报提到的“-g”命令行选项。由于调试信息驻留在不属于代码或数据段的ELF部分中,因此不会产生任何性能损失。也就是说,.debug *部分在正常的程序执行期间没有映射到内存中,它只是调试器获取它们时的调试时间。
任何使用生产软件的开发人员的另一个有用的考虑因素是使用separate debug information files。这假定如上所述用“-g”编译程序,然后使用objcopy实用程序将包含调试信息的ELF部分复制到单独的文件中,并将原始二进制文件中的链接添加到单独的调试信息文件中。这对于能够存储您发布给客户的位的调试信息非常有用,以便可以进行事后调试。当然,也可以对发布位进行性能分析。