2012-04-11 84 views
0

我使用MinGW的为64位平台编译一个简单的C++测试应用程序:VTune分析器使用MinGW

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

随着-g3标志test.exe的现在应该包含用于剖析了一切必要的符号信息。 .. 它是否正确?

当我做与VTune™可视化Amplifyer XE的热点分析,它让我看到这样一个调用堆栈:

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才能获得更有意义的结果?

回答

0

原因是,目前只有VTune的Linux版本支持标准调试格式,如f.e.矮人。 Windows版本只能识别Microsoft PDB文件。 显然支持矮人是Windows版本的功能请求(请参阅this线程)。