带有mingw的Vtune分析仪

时间:2012-04-11 14:33:18

标签: mingw vtune

我在64位平台上使用MinGW来编译一个简单的c ++测试应用程序:

g++ -g3 -c test.cpp
g++ test.o -o test

使用-g3标志test.exe现在应该包含所有必要的符号信息以便对其进行分析...这是正确的吗?

当我使用VTune Amplifyer XE进行热点分析时,它会向我显示一个这样的callstack:

test.exe![test.exe] - [Unknown]
test.exe![test.exe]+0x15fa - [Unknown]
test.exe![test.exe]+0x13cd - [Unknown]
test.exe![test.exe]+0x14e7 - [Unknown]
kernel32.dll!BaseThreadInitThunk+0x1f33c - [Unknown]
ntdll.dll!RtlUserThreadStart+0x32ca0 - [Unknown]

当点击其中一个项目时,它会显示汇编代码,对于最顶层的元素,它会显示:“无法显示源代码和汇编代码”。

如果我在VTune项目设置中指定源代码/二进制目录,则不会更改。

我应该如何编译程序或设置VTune以获得更有意义的结果?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

原因是,目前只有Linux版本的VTune支持标准调试格式,如f.e.侏儒。 Windows版本只能理解Microsoft PDB文件。 显然支持dwarf是Windows版本的功能请求(请参阅this主题)。