如何在 Linux 下调试动态链接库

如何在 Linux 下调试动态链接库,第1张

你需要debug版本的库文件,一个库发布往往有3种版本,一个是运行期的库,一个是开发版的,还有一个是调试版的。 以ubuntu环境下,libc为例,你可以sudo apt-get install libc-dbg来安装调试库。

动态库函数在加载程序时,数据库将被加载。但是,动态加载程序链接器将符号解析推迟到函数调用时间。在对共享库的调用是通过过程链接表(PLT)中的一个条目间接完成的。最初,PLT中的所有条目都指向ld.so。在第一次调用函数时,ld.so查找符号的实际地址,更新PLT中的条目,并跳转到函数。这是“懒惰”符号解析。您可以设置LD_BIND_NOW环境变量来更改此行为。除此之外,试一下不用DLL直接把函数卸载程序里的运行速度,如果仍然慢,那就是算法的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/6136632.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存