Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ VSPerf VS2010和其他分析工具未拾取pdb_C++_Visual Studio 2010_Profiler_Intel Vtune_Vsperfmon - Fatal编程技术网

C++ VSPerf VS2010和其他分析工具未拾取pdb

C++ VSPerf VS2010和其他分析工具未拾取pdb,c++,visual-studio-2010,profiler,intel-vtune,vsperfmon,C++,Visual Studio 2010,Profiler,Intel Vtune,Vsperfmon,尝试使用VSPerfCmd(VS2010探查器)和“英特尔VTune放大器XE 2013”进行评测:对于.vsp文件中的VSPerfCmd,有些结果可用。然而,profier并没有接收pdb。应用程序的某些部分没有可用的代码 这已经发生在您身上了吗?您知道是否应该打开一些编译器选项以获得完整的配置文件吗 探查器在哪个目录中查找.pdb info 谢谢默认情况下,Windows上的探查器和调试器会按照写入可执行文件的路径查找PDB文件。所以首先要做的是在一些十六进制编辑器中打开可执行文件,搜索“.

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

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

探查器在哪个目录中查找.pdb info


谢谢

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

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