应该为分析设置哪个编译选项?

时间:2009-05-05 09:57:11

标签: c++ visual-studio profiling vtune

我需要通过VC ++分析用intel编译器编译的应用程序。 我正在使用VTune来分析我的代码。

我的理解是在发布模式下我没有调试信息 这是探测器在调试模式下分析我的代码所必需的,结果 分析将不相关。

我该怎么办?是否可以在发布模式下添加调试信息? 如何设置此模式?

如果是这样,我还能从所有优化(内联等)中受益吗?

3 个答案:

答案 0 :(得分:4)

您当然应该启用优化配置文件(编译器选项/ O3)。 / Zi是Intel编译器开关(在Windows上)以启用调试信息。

由于优化,由于内联,调试信息中可能缺少某些功能,但VTune将应对此问题。

答案 1 :(得分:3)

即使在发布目标中,您也可以生成程序数据库文件(PDB)。转到项目属性,链接器/调试并选中“生成程序数据库文件”选项。它通常类似于“$(TargetDir)$(TargetName).pdb”。现在,它取决于VTune是否知道如何解释PDB文件...

答案 2 :(得分:1)

函数内联和进程间优化将使您的配置文件难以解释。这就是为什么在调试和发布模式下进行配置是个好主意的原因。如果释放模式仅使用80%的程序时间显示函数foo,则可以使用调试配置文件来查看内联到foo的函数栏正在使用foo时间的60%。