Использование gprof с make-файлом - PullRequest
1 голос
/ 01 марта 2012

У меня проблемы с профилированием моей программы.

Я отдельно компилирую каждую функцию следующим образом:

function1.o:        function1.cpp
    g++ -g -pg -z -c function1.cpp

Затем я связываю все вместе так:

exec: function1.o function2.o function3.o main.o  
    g++ -g -pg -z -c -o exec function1.o function2.o function3.o main.o

Но когда я запускаю программу с ./execзатем профилируйте данные с помощью gprof exec, я не получаю данные профилирования, это говорит следующее:

granularity: each sample hit covers 4 byte(s) no time accumulated

Я что-то не так делаю?

1 Ответ

0 голосов
/ 01 марта 2012

Скорее всего, ваша программа не будет работать достаточно долго, чтобы gprof смог собрать какие-либо образцы.

Вы можете произвольно увеличить время работы, выполнив основной цикл несколько раз.

Если вы работаете в Linux, позвольте мне также порекомендовать perf, который является действительно лучшим инструментом для профилирования.

...