Компилирую C++ программу с опцией -pg
Запускаю ./my_prog
Затем делаю gprof ./my_prog
Так как использую STL получаю совершенно нечитаемый вывод.
Поэтому пропускаю всё это через gSTLfilter.
Получаю вот что :
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 0.01 0.01 1776 0.01 0.01 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::end()
0.00 0.01 0.00 3614 0.00 0.00 less<string>::operator()(
string const &, string const &) const
0.00 0.01 0.00 3614 0.00 0.00 bool operator< <
char, char_traits<char> >(string const &, string const &)
0.00 0.01 0.00 3426 0.00 0.00 _Select1st<
pair<string const, string> >::operator()(pair<string const, string> &)
const
0.00 0.01 0.00 3426 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_S_value(iter)
0.00 0.01 0.00 2749 0.00 0.00 const_iter
::_Rb_tree_iterator[in-charge](iter)
0.00 0.01 0.00 2548 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_S_key(iter)
0.00 0.01 0.00 2408 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_S_left(iter)
0.00 0.01 0.00 1060 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_S_right(iter)
0.00 0.01 0.00 878 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_S_key(_Rb_tree_node_base *)
0.00 0.01 0.00 787 0.00 0.00 _Rb_tree<
string, pair<string const, string>, _Select1st<
pair<string const, string> > >::_M_root() const
0.00 0.01 0.00 767 0.00 0.00 bool operator==<
pair<string const, string>, pair<string const, string> &, pair<
string const, string> *>(const_iter const &, const_iter const &)
0.00 0.01 0.00 742 0.00 0.01 map<string, string>::end()
0.00 0.01 0.00 629 0.00 0.00 const_iter
::_Rb_tree_iterator[in-charge](const_iter const &)
0.00 0.01 0.00 529 0.00 0.01 map<
string, string>::find(string const &)
.....
.....
.....
Видно, что практически все - STL!!!
Я использую связку gprof + cgprof + dot для визуализации вызовов ф-ий.
Очень хочется получить именно граф вызова МОИХ функций, а не
стандартных,системных и моих!
Как это сделать в gprof???