c - gcc: how to only trace specific functions calls -


options -pg, -mfentry , -finstrument-functions affects functions in .c file, how can insert trace call specific functions, not all?

i checked gcc function attributes seems there's no counterparts -pg, -mfentry , -finstrument-functions can used decorate specific functions.

no_instrument_function excludes functions want opposite, i.e., includes functions.

you can backtraces in c. method you'll have add code function want trace.

here's simple example :

 #include <execinfo.h>  #include <stdio.h>  #include <stdlib.h>   /* obtain backtrace , print stdout. */   void print_trace (void)  {    void *array[10];    size_t size;    char **strings;    size_t i;     size = backtrace (array, 10);    strings = backtrace_symbols (array, size);    printf ("obtained %zd stack frames.\n", size);     (i = 0; < size; i++)       printf ("%s\n", strings[i]);    free (strings);  }   /* dummy function make backtrace more interesting. */   void dummy_function (void)  {    print_trace ();  }    int main (void)  {    dummy_function ();    return 0;  } 

in compilation add -g -rdynamic flag linker :

 gcc -g -rdynamic example.c -o example 

Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -