VSPerf VS2010和其他分析工具没有拾取pdb

VSPerf VS2010 and other profiling tools not picking up pdb

本文关键字:pdb 工具 VS2010 其他 VSPerf      更新时间:2023-10-16

尝试使用VSPerfCmd(VS2010探查器)以及"英特尔VTune放大器XE 2013"进行评测:对于.vsp文件中的VSPerfCmd,可以获得一些结果。然而,profier并没有收到pdb。应用程序的某些部分没有可用的代码。

这种情况已经发生在你身上了吗?你知道是否应该打开一些编译器选项以获得完整的配置文件吗?

profiler要在哪个目录中查找.pdb-info?

感谢

默认情况下,Windows上的评测器和调试器会根据可执行文件中写入的路径查找PDB文件。所以,要做的第一件事是在一些十六进制编辑器中打开可执行文件,搜索".pdb"字符串,并检查磁盘上是否存在提到的文件。如果不是这样,请检查是否为编译器指定/Zi或/Zi选项,为链接器指定/debug选项。

如果应用程序的某些部分缺少符号名称,请检查这些部分是单独的动态库还是静态库,以及是否为这些部分生成调试信息。在静态库的情况下,很容易获得在链接过程中丢失的调试信息,因为默认情况下/Zi标志将调试信息嵌入到vc*.pdb文件中(例如VS2008的vc90.pdb),而该文件通常不会被构建系统导出到SDK中。对于静态库,我个人认为使用/Z7选项来调试信息最有用,因为这将它嵌入到对象文件本身,然后嵌入到*.lib文件,然后传播到最终的*.exe/*.dll二进制文件的PDB文件。