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