英特尔Vtune对Linux上的fortran代码的奇怪行为

时间:2013-02-01 21:44:30

标签: fortran vtune

我用不同的优化标志编译了fortran程序。我有一个带有默认优化标志-O2的程序和另一个带有-fast优化标志的编译程序。我能够打开用优化标志-O2编译的程序。那么,当我们尝试在Vtune中加载程序时,程序也会执行?

但是,当我尝试加载使用优化标志-fast编译的程序时,Vtune会抛出错误"无法完成结果"。您打开的结果是空的。这可能是由数据收集过程中的错误引起的。这究竟意味着什么?我在这个论坛中经历过其他主题,但不太明白这意味着什么。

收集的消息收集如下:

错误:分析目标的二进制文件不包含分析所需的符号。有关详细信息,请参阅文档 错误:在分析目标的静态二进制文件中找不到有效的dlopen符号。

我正在使用ubuntu 12.04系统。

非常感谢。请尽快回复。

Jdbaba

1 个答案:

答案 0 :(得分:0)

我不确定你正在使用什么编译器(少数有-fast),但我最好的猜测是你-fast剥离二进制因此没有调试符号。使用gccicc(可能是gfortranifort)您应该使用-g进行编译,但我不确定Fortran编译器中的等效内容可能是。