打印堆栈

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

你可能感兴趣的:(打印堆栈)