问题标签 [dladdr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - dladdr() out 参数的内存语义
什么是内存语义dladdr()
?
从阅读手册页,不清楚是否dli_fname
:
- 指向一个常量字符串并且永远不需要被释放
- 指向堆数组,用户负责删除它
- 指向全局数组(可能不是,因为它声称是可重入的)
我想同样的问题也适用于dli_sname
,但我怀疑它确实指向一个常量字符串(符号本身)。
用户是否负责删除dli_fname
返回的dladdr()
?
c - C如何使静态函数包含在.dynsym中?
背景
我正在使用-finstrument-functions来跟踪 ac 项目中的函数调用。
我使用dladdr将函数地址转换为函数名称。它成功地将一些地址转换为函数名,但其中一些仍然无法解析。
我了解到ldaddr仅使用仅包含非静态函数的 dynsym 表。符号表中包含的静态函数。
问题
有什么方法可以在不更改源代码的情况下使 .dynsym 表包含的静态函数?