我想在Windows 7上使用Vtune从QtCreator分析应用程序。但是Vtune基本上是为Visual Studio应用程序制作的,所以我必须在我的函数名称和发布版本中的指令之间建立链接。 实际上我在Hotspots中只有伪名称func @ address,它不可用。
通过探索英特尔Vtune的“入门”,我发现我必须在我的发布版本中启用调试信息,但如何在QtCreator中执行该操作?
从'使用调试信息'文件:
提供准确的性能数据并启用源分析 英特尔®VTune™放大器需要二进制文件的调试信息 它分析的文件。如果它没有找到调试信息 二进制文件,VTune放大器静态识别功能 边界并将热点地址分配给生成的伪名称 这些函数的func @地址。
如果缺少调试信息,“调用堆栈”窗格可能无法解除调整 正确调用堆栈以进行用户模式采样和跟踪分析 类型。此外,在某些情况下,可能需要更多时间 最终确定没有调试的模块的结果 信息。
在Windows *操作系统上,PDB文件提供调试信息。 确保您的系统和应用程序库/可执行文件都有 PDB文件。使用优化编译目标并开始分析 它的表现。
默认情况下,Microsoft Visual Studio * IDE不会生成PDB 发布模式中的信息。为了获得更好的VTune效果 放大器,手动启用符号生成。对于系统库, 使用Microsoft * Symbol Server下载所需的PDB文件 来自Microsoft *网站。请按照以下步骤确保 VTune Amplifier使用系统和您自己的调试信息 库。
我尝试了一些方法,例如:-edit file.pro来更改发布版本
QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_RELEASE += -g
QMAKE_LFLAGS_RELEASE =
但它没有改变任何东西,我仍然没有打印功能名称
非常感谢任何输入。
答案 0 :(得分:3)
是的,对于VTune(或其他类似的分析工具),您需要"发布构建" (即,优化开启)调试信息也接通。 QTCreator默认情况下不会创建这种版本+调试配置。
对于Windows MS编译器工具链,它意味着您必须使用附加 / Zi编译和/ DEBUG链接器选项补充发布配置。
为了在QTCreator 中传播这些附加选项,请使用以下步骤(另请参见下面的屏幕截图):
QMAKE_CXXFLAGS+=-Zi
QMAKE_LFLAGS+=/DEBUG
少数次要笔记:
答案 1 :(得分:0)