Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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++ vtune-没有可用的符号_C++_Visual Studio 2008_Intel Vtune - Fatal编程技术网

C++ vtune-没有可用的符号

C++ vtune-没有可用的符号,c++,visual-studio-2008,intel-vtune,C++,Visual Studio 2008,Intel Vtune,我过去曾多次使用vtune,通常没有太多麻烦。不幸的是,每次使用之间的差距往往太长,以至于我每次都忘记了如何使用它的一些方面。我知道行号和符号信息需要以某种方式存储。我原以为只需要用“程序数据库”(/Zi)编译exe,但我刚刚做了一次采样,发现vtune报告没有可用的符号 我遗漏了什么吗?有两个调试选项(选中$>cl/?): /启用调试信息 /ZI启用编辑并继续调试信息 确保您有.pdb和清单文件(如果生成)。 这并不相关,但也可能会关闭优化。如Bua所述,您肯定需要在编译时启用调试信息。如果p

我过去曾多次使用vtune,通常没有太多麻烦。不幸的是,每次使用之间的差距往往太长,以至于我每次都忘记了如何使用它的一些方面。我知道行号和符号信息需要以某种方式存储。我原以为只需要用“程序数据库”(/Zi)编译exe,但我刚刚做了一次采样,发现vtune报告没有可用的符号


我遗漏了什么吗?

有两个调试选项(选中$>cl/?):

/启用调试信息

/ZI启用编辑并继续调试信息

确保您有.pdb和清单文件(如果生成)。
这并不相关,但也可能会关闭优化。

如Bua所述,您肯定需要在编译时启用调试信息。如果pdb文件与您正在分析的exe位于同一目录中,那么它应该能够找到它们。如果没有,您还可以尝试在config->options->directories中显式地向PDB添加路径。使用符号目录添加项目。您可能还需要添加符号服务器和符号缓存,因为这样您将获得所有Microsoft公共二进制文件的符号。上图显示了如何在c:\websymbols处添加带有符号缓存的符号服务器。通常,“符号服务器”的格式是以下格式的字符串:

SRV * [CACHE] * [SYM SERVER PATH]
例如:

SRV*C:\MySymbolCache\*http://msdl.microsoft.com/download/symbol
形式如下:

SRV * [CACHE] * [SYM SERVER PATH]

希望这有帮助

问题解决了:原来是设置工作目录的错误;“/Zi”似乎是所有必需的。我不需要关闭优化