Vis*_*lla 6 c linux linux-device-driver linux-kernel
我想获取调用者函数的返回地址。我正在使用__builtin_return_address()function,但如果我给出的索引值大于 0,它将返回NULL.
请帮我解决这个问题,或者告诉我任何其他功能来获得相同的效果。
请参阅相关问题的答案。
__builtin_return_address是GCC和处理器特定的(在某些处理器上的某些版本的Clang中也可用,但缺乏一些优化),并记录为
在某些机器上,可能无法确定除当前函数之外的任何函数的返回地址
编译器可能会在没有相关信息的情况下优化函数(例如,当使用-fomit-frame-pointer、 或用于尾调用或通过函数内联进行编译时)。
所以您可能会收到这样的信息,NULL因为信息不可用!
| 归档时间: |
|
| 查看次数: |
2973 次 |
| 最近记录: |