我想在Windows 7上使用Vtune从QtCreator剖析应用程序。但Vtune基本上是用于Visual Studio应用程序的,所以我必须在我的函数的名称和发布版本中的指令之间建立链接。 其实我在热点只有伪名称func @ address,它不可用。使用Intel Vtune来从Qt Creator中剖析应用程序
通过探索英特尔Vtune的“入门”,我发现我必须在我的发行版本中启用调试信息,但是如何在QtCreator中执行此操作?
从“使用调试信息”文件:
为了提供准确的性能数据,并启用源分析, 英特尔®VTune™放大器需要二进制文件 它分析调试信息。如果它在 二进制文件中找不到调试信息,则VTune放大器会静态标识功能 边界,并将热点地址分配给生成的伪名称 func @ address用于此类功能。
如果调试信息不存在,则对于用户模式采样和跟踪分析 类型,“调用堆栈”窗格可能无法正确地展开 调用堆栈。另外在某些情况下,可能需要更多的时间来完成没有调试 信息的模块的结果 。
在Windows *操作系统上,PDB文件提供调试信息。 确保您的系统和应用程序库/可执行文件都有 PDB文件。通过优化编译您的目标,并开始分析其性能 。
默认情况下,Microsoft Visual Studio * IDE在发行模式下不会生成PDB 信息。为了使用VTune 放大器获得更好的结果,请手动启用符号生成。对于系统库, 使用Microsoft * Symbol Server从Microsoft *网站下载所需的PDB文件 。请按照以下步骤操作,以确保VTune Amplifier对系统和您自己的 库使用调试信息。
我喜欢尝试一些方法:-edit的file.pro改变发布版本
QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_RELEASE += -g
QMAKE_LFLAGS_RELEASE =
- 配置文件中的调试版本。
,但它不会改变任何东西,我还没有印刷
功能名称的任何输入是非常赞赏。
谢谢你,我已经找到一个伪解决方案,你的回答帮我完成它。现在我可以将QT标准库内部化为好了! – user3484342