backtrace() returns only one stack frame

参考:

在Linux中如何利用backtrace信息解决程序崩溃的问题

linux 打印堆栈方法

https://devtalk.nvidia.com/default/topic/987279/jetson-tx1/backtrace-returns-only-one-stack-frame-on-jetson-tx1/

 

在使用aarch64-linux-gnu-gcc编译应用程序学习backtrace时,用下面的编译命令,发现只打印出一条trace信息:

aarch64-linux-gnu-gcc -rdynamic -O0 -g main.c -o main

 

 

修改,增加编译选项: -funwind-tables

aarch64-linux-gnu-gcc -funwind-tables -rdynamic -O0 -g main.c -o main

 关于这个参数的说明,请参考GCC手册:

https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc.pdf

 完。

 

原文地址:https://www.cnblogs.com/pengdonglin137/p/10974258.html