0
Q
跟踪链接库
A
回答
6
实际上ldd
为您提供了绝对路径和文件名,无论您的应用程序的共享库相关性如何,它都能找到。
$ ldd v8test
linux-gate.so.1 => (0xb78b2000)
libz.so.1 => /usr/lib/libz.so.1 (0xb787e000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7875000)
libcppunit-1.12.so.1 => /usr/lib/libcppunit-1.12.so.1 (0xb782c000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7604000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75dd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75bf000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7478000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb745f000)
libboost_system-mt.so.1.38.0 => /usr/lib/libboost_system-mt.so.1.38.0 (0xb745b000)
/lib/ld-linux.so.2 (0xb78b3000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7456000)
libboost_thread-mt.so.1.38.0 => /usr/lib/libboost_thread-mt.so.1.38.0 (0xb7383000)
libboost_filesystem-mt.so.1.38.0 => /usr/lib/libboost_filesystem-mt.so.1.38.0 (0xb7370000)
libtinyxml.so.1 => /home/dmitry/tinyxml/libtinyxml.so.1 (0xb7359000)
libboost_regex-mt.so.1.38.0 => /usr/lib/libboost_regex-mt.so.1.38.0 (0xb728c000)
libmysqlclient_r.so.15 => /usr/lib/libmysqlclient_r.so.15 (0xb70a1000)
libicuuc.so.42 => /usr/lib/libicuuc.so.42 (0xb6f61000)
libicudata.so.42 => /usr/lib/libicudata.so.42 (0xb601a000)
libicui18n.so.42 => /usr/lib/libicui18n.so.42 (0xb5e6b000)
libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb5e39000)
libnsl.so.1 => /lib/i686/cmov/libnsl.so.1 (0xb5e22000)
该库由它的soname(例如libboost_filesystem-mt.so.1.38.0)在/etc/ld.so.conf
,LD_LIBRARY_PATH
提及或与二元本身rpath
设定路径搜索。
如果ldd
无法找到它看起来像
libicuuc.so.42 => not found
在这种情况下考虑使用所提到的方式之一给予正确的搜索路径。
ldd
由于某种原因无法加载库时会发出警告。
$ ldd v8test
./v8test: error while loading shared libraries: /home/dmitry/a/liba.so.2: invalid ELF header
当然,它不能保护你免受图书馆本身的错误。事实上,您的应用程序可能依赖于库A和B,两者都取决于库C上的不兼容版本。在这种情况下,您的程序很有可能崩溃(除非库C没有symbol versioning) - ldd不会警告你,但你应该能够在输出中看到它。
查看ldd
或dynamic linker的一些选项。
相关问题
- 1. 跟踪链接hover样式
- 2. 跟踪内部javascript链接
- 3. 跟踪点击链接
- 4. 跟踪链接导致404
- 5. 的IFrame链接跟踪
- 6. 跟踪重定向链接
- 7. 跟踪'有用的链接'
- 8. 跟踪内部链接php
- 9. SEO谷歌链接跟踪
- 10. 跟踪链接点击Google跟踪代码管理器
- 11. 谷歌分析下载链接跟踪
- 12. PHP跟踪邮件和链接点击
- 13. 如何跟踪网站内的链接
- 14. 自动链接行动texview跟踪onClickListner
- 15. Javascript链接跟踪脚本+ Safari
- 16. 跟踪点击锚点电话链接
- 17. 跟踪其他网站的链接
- 18. 使用javascript进行链接跟踪
- 19. 谷歌Analytics跟踪链接点击
- 20. 使用Fotorama API跟踪链接
- 21. KML gx:跟踪网络链接更新
- 22. 向链接添加像素跟踪
- 23. 谷歌分析url链接跟踪
- 24. 跟踪锚链接 - 谷歌分析
- 25. JavaScript的点击跟踪,AHREF链接
- 26. 跟踪网站的出站链接
- 27. 链接没有跟踪源网页
- 28. 谷歌分析跟踪UTM链接
- 29. Mailto UTM跟踪电子邮件链接
- 30. 跟踪链接时发生的事件
如果我知道在0x2F48D76B附近的某些代码已损坏,那么ldd输出是否排除了它是一个破碎的库的可能性? – user108088 2010-08-03 19:45:55
看到我最后的编辑,我希望它会回答你的问题 – 2010-08-04 07:51:56