在Raspberry Pi上,backtrace()返回0帧
发布时间:2020-12-13 19:05:34 所属栏目:Linux 来源:网络整理
导读:我正在玩glibc的backtrace(),我似乎无法让它在我的Raspberry Pi上正常工作.一切都没有警告编译,但backtrace()返回0作为存储的帧数.完全相同的代码确实在x86_64(Debian stable)上产生了回溯,backtrace()返回6帧: /*test.c*/#include #MakefileCFLAGS=-Wall -
我正在玩glibc的backtrace(),我似乎无法让它在我的Raspberry Pi上正常工作.一切都没有警告编译,但backtrace()返回0作为存储的帧数.完全相同的代码确实在x86_64(Debian stable)上产生了回溯,backtrace()返回6帧:
x86_64上的输出(gcc(Debian 4.7.2-5)4.7.2与GNU libc6:amd64 2.13-38 deb7u1):
Raspberry Pi上的输出(gcc(Debian 4.6.3-14 rpi1)4.6.3与GNU libc6:armhf(2.13-38 rpi2 deb7u1)):
我已经验证Raspberry Pi上编译的可执行文件正在将帧指针和链接寄存器存储到堆栈中. objdump -d测试摘录:
我在论坛或Stack Overflow上找不到这样的东西.难道我做错了什么?我没有检查过什么? 最佳答案
必须使用-funwind-tables编译应用程序,以使backtrace()在ARM上运行.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |