#include <stdio.h>
void __cyg_profile_func_enter(void *func, void *caller) __attribute__((no_instrument_function));
void __cyg_profile_func_exit(void *this_fn, void *call_site) __attribute__((no_instrument_function));
void __cyg_profile_func_enter(void *func, void *caller)
{
printf("%p\n", func);
printf("%p\n", caller);
}
void __cyg_profile_func_exit(void *this_fn, void *call_site)
{
}
void my_function(int a, int b)
{
a = a * b;
}
void dummy_function()
{
int a = 10;
int b = 20;
my_function(a, b);
}
int main()
{
int x = 42;
int y = 73;
dummy_function();
my_function(x, y);
return 0;
}
Build commands:
gcc -x c boost_stacktrace.cpp -finstrument-functions -rdynamic -g -O0 -o boost_stacktrace.exe
./boost_stacktrace.exe | tee addrs.txt
0x55d97d38324c
0x7f0fa12b0d90
0x55d97d3831f4
0x55d97d383287
0x55d97d3831a9
0x55d97d383233
0x55d97d3831a9
0x55d97d383296
addr2line -e boost_stacktrace.exe -f -i -p < addrs.txt
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
QUESTION
What am I doing wrong?
After I added -no-pie
to my compile command, it worked.