https://blog.csdn.net/rheostat/article/details/8523598
[root@bogon ~]# gcc stack.c -rdynamic -g -o test3
[root@bogon ~]# ./test3
stackstrace begin:
./test3(print_stacktrace+0x26) [0x4008da]
./test3(fun1+0x18) [0x40088f]
./test3(fun2+0xe) [0x4008a0]
./test3(fun3+0xe) [0x4008b1]
./test3(main+0xe) [0x400870]
/usr/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f7ffb3a6555]
./test3() [0x4007b9]
addr2line
-a 地址 -e 可执行程序
-f -C 参数很重要
[root@bogon ~]# addr2line -a 0x4008b1 -e test3 -f -C
0x00000000004008b1
fun3
/root/stack.c:30