英特尔®VTune™放大器XE 2013未知源文件

时间:2014-03-19 02:26:26

标签: vtune

我的报告中有未知的源文件,这使我无法对正确的循环进行分析以分析我的报告

我想用vtune analyze显示源代码,但是如果我编译c并获取执行文件。当我尝试分析行为时,我只能检查汇编代码!任何人都知道如何显示源代码?如果我想做itt_pause()和itt_resum()我怎么想用icc编译器做到这一点 我将文件编译为

gcc -c -std=c99 -O2 app.c
gcc -o app app.o

我需要分析的源代码:

#include <stdio.h>
#include <stdlib.h>


int foo_data_collected1()
{
    int sum = 0;
    for (int i = 0; i < 100; i++)
    {
        if ((i & 0xffffffff) == 0)
        {
            sum++;
            printf("T");
        }
        printf("F");
    }

    return sum;
}


int foo_data_collected2()
{
    int sum = 0;
    for (int i = 0; i < 10000000L; i++)
    {
        if ((i & 2) == 0)
        {
            sum++;

        }
    }

    return sum;
}

int foo_data_collected3()
{
    int sum = 0;
    for (int i = 0; i < 10000000L; i++)
    {
        if ((i & 0x80000000) == 0)
        {
            sum++;
        }
    }

    return sum;
}

int foo_data_collected4()
{
    int sum = 0;
    for (int i = 0; i < 10000000L; i++)
    {
        if ((i & 4) == 0)
        {
            sum++;
        }
    }

    return sum;
}

int foo_data_collected5()
{
    int sum = 0;
    for (int i = 0; i < 10000000L; i++)
    {
        if ((i & 3) == 0)
        {
            sum++;
        }
    }

    return sum;
}

int main()
{

    int sum = 0;

    sum = foo_data_collected1();

    printf("\nSum = %d\n", sum);


    return 0;
}

2 个答案:

答案 0 :(得分:4)

在编译源代码时使用-g编译器选项来添加调试信息。

gcc -g -c -std=c99 -O2 app.c
gcc -o app app.o

答案 1 :(得分:0)

更多详细信息,请参见此处的VTune文档:https://software.intel.com/en-us/node/2c4df853-6ac4-4248-a8a8-7e2522b39835