【发布时间】:2020-11-18 15:29:23
【问题描述】:
就程序而言,堆栈只是一堆内存。回溯函数如何确定哪些堆栈字节是指令指针返回地址,而不是哪些只是函数参数等?
【问题讨论】:
-
大概是使用
.eh_framestack-unwind 元数据来允许展开,即使没有帧指针;希望这能给你一些谷歌上的东西。 -
@Peter 我不认为 backtrace() 有那么聪明,我相信它只适用于传统的帧指针布局。
-
似乎我错了,似乎使用unwind capability from libgcc,这意味着支持时的eh_frame东西。 @PeterCordes
标签: x86 arm stack glibc backtrace