问题标签 [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.

0 投票
1 回答
86 浏览

c - dladdr() out 参数的内存语义

什么是内存语义dladdr()

从阅读手册页,不清楚是否dli_fname

  • 指向一个常量字符串并且永远不需要被释放
  • 指向堆数组,用户负责删除它
  • 指向全局数组(可能不是,因为它声称是可重入的)

我想同样的问题也适用于dli_sname,但我怀疑它确实指向一个常量字符串(符号本身)。

用户是否负责删除dli_fname返回的dladdr()

0 投票
0 回答
29 浏览

c - C如何使静态函数包含在.dynsym中?

背景

我正在使用-finstrument-functions来跟踪 ac 项目中的函数调用。

我使用dladdr将函数地址转换为函数名称。它成功地将一些地址转换为函数名,但其中一些仍然无法解析。

我了解到ldaddr仅使用仅包含非静态函数的 dynsym 表。符号表中包含的静态函数。

问题

有什么方法可以在不更改源代码的情况下使 .dynsym 表包含的静态函数?