【发布时间】:2011-04-25 11:43:49
【问题描述】:
我正在用 C 语言构建一个共享库,供其他程序使用。有时,这些其他程序会因为我的共享库中的一些错误而崩溃。在重现这些错误时,了解我的库中的哪些函数被调用、使用什么参数以及以什么顺序调用对我来说非常有用。当然,我可以在我的所有函数中添加printf() 调用,或者为所有函数添加断点,但我认为必须有更好的方法来确定这一点。
编辑:由于我在 OSX 上执行此操作,dtrace 和相关脚本 dapptrace 似乎很有希望。但是,在浏览了一些文档之后,我仍然有点迷茫。
假设,我的库是 /path/to/libmystuff.so,我有一个链接到该库的程序 test。使用 dtrace,我将如何显示驻留在 libmystuff.so 中的所有函数调用的列表?
【问题讨论】:
标签: c debugging shared-libraries dtrace