2012-05-23 5 views
1

Я пытаюсь просмотреть исходный код, связанный с исполняемым файлом lab13. Когда я нажимаю на вкладку Источник в KCachegrind, все, что я вижу следующее:Получение исходной аннотации в KCachegrind

There is no source available for the following function: 
    'main' 
This is because no debug information is present. 
Recompile source and redo profile run. 
The function is located in this ELF object: 
    'lab13' 

Однако я использую флаг в -g отладки в моем makefile:

lab13:main.o 
    g++ -g main.o -o lab13 
    ./lab13 

main.o:main.cpp EdgeArray.h Edge.h DisjointSets.h Matrix.h experiment.h 
    g++ -c -g main.cpp 

Я создал файл callgrind.out используя следующий вызов valgrind:

valgrind --tool=callgrind --dsymutil=yes ./lab13 

Я смотрел на KCachgrind documentation, но нет информации о том, как активировать функцию вкладки .

Я скомпилировал программу на OSX и запускаю KCachgrind через X11. Я читаю файл callgrind.out из того же каталога, что и код. Все остальные функции KCachgrind работают.

Как получить Источник вкладка работает?

+0

Можете ли вы пройти программу по строчке с помощью 'gdb'? –

ответ

0

Вы должны искать строки «fl =» в профиле (cf) и убедиться, что исходные файлы доступны по путям, указанным в линиях «fl =».