這裏有人能告訴我在最新版本的AIX上是否有與LD_PRELOAD類似的東西?更具體地說,我需要攔截來自我的二進制的調用time(),返回一個恆定的時間,用於測試目的。AIX上的LD_PRELOAD
3
A
回答
8
AIX 5.3引入了LDR_PRELOAD
(用於32位程序)和LDR_PRELOAD64
(用於64位程序)變量。它們與Linux上的LD_PRELOAD類似。兩者都是以冒號分隔的庫列表,並且符號將先於所有列出的共享對象進行預先加載。
舉例來說,如果你有一個共享對象foo.so:
LDR_PRELOAD=foo.so
如果您使用檔案,使用AIX風格歸檔中指定的對象:
LDR_PRELOAD="bar.a(shr.so)"
和獨立帶冒號的多個條目:
LDR_PRELOAD="foo.so:bar.a(shr.so)"
0
不是我所知道的。我們所做的最近的事情(使用malloc /免費進行調試)是
- 創建一個只包含所需功能(與原始名稱相同的名稱)的新庫文件。
- 將其放置在與原始目錄不同的目錄中。
- 使我們的庫文件對原始文件產生依賴關係。
- 更改LD_LIBRARY_PATH(或SHLIB_PATH?)以將我們的庫放在搜索鏈中。
這樣,我們的功能首先被裝載機拾取,我們沒有提供的任何功能都是由原裝提供的。
這是一段時間以前。 AIX 5L應該更像Linux(因此是L),所以它可能能夠完全滿足你的要求。
或者,如果您有源代碼,請使用mytime()調用time()並提供您的函數。你不是在測試的確是相同的軟件,但這種最小改變的差異應該不重要。
1
AIX 5L使用LDR_PRELOAD變量。
相關問題
- 1. AIX上的hash_map?
- 2. AIX 5.3上的SNMP
- 3. AIX上的Erlang 6
- 4. 在AIX上
- 5. 在AIX上
- 6. AIX上的Sem_timedwait錯誤
- 7. AIX機器上的syslogs
- 8. AIX上「Sticky」庫的概念?
- 9. EC2上的AIX實例
- 10. AIX 6.1上的SSH問題
- 11. 如何在Android的mediaserver上使用LD_PRELOAD?
- 12. AIX上的xlC上的CRTDBG_MAP_ALLOC等效項
- 13. 的Linux,LD_PRELOAD錯誤
- 14. LD_PRELOAD,bash和printf
- 15. LD_PRELOAD幫助
- 16. LD_PRELOAD更改LD_LIBRARY_PATH
- 17. LD_PRELOAD與MySQL
- 18. LD_PRELOAD麻煩
- 19. 在aix上安裝Python
- 20. 以 「set -o errexit」 在AIX上
- 21. AIX上沒有/ usr/lib/64?
- 22. 在AIX上使用ofstream
- 23. 編譯提高AIX上
- 24. 在內核級函數上使用LD_PRELOAD
- 25. AIX上的struct ifnet的位置
- 26. AIX 5.3上的Passenger/nginx安裝
- 27. AIX/IBM上的cxf,jaxb Java - CollisionCheckStack問題
- 28. AIX 6.1上的GDB沒有TUI模式?
- 29. 是否在AIX上的grep支持?
- 30. Aix listner上的Oracle 11gR2不會啓動