这里有人能告诉我在最新版本的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 5.3上的SNMP
- 2. AIX上的Erlang 6
- 3. 在AIX上
- 4. AIX上“Sticky”库的概念?
- 5. AIX机器上的syslogs
- 6. AIX上的Sem_timedwait错误
- 7. AIX上的xlC上的CRTDBG_MAP_ALLOC等效项
- 8. 的Linux,LD_PRELOAD错误
- 9. 卷曲和xmllint在AIX上
- 10. 以 “set -o errexit” 在AIX上
- 11. 在aix上安装Python
- 12. LD_PRELOAD帮助
- 13. LD_PRELOAD与MySQL
- 14. LD_PRELOAD麻烦
- 15. 在内核级函数上使用LD_PRELOAD
- 16. AIX上的struct ifnet的位置
- 17. AIX 1.7上的C++编译问题
- 18. 在Ubuntu上编译AIX的C++代码?
- 19. AIX上的Python:我有什么选择?
- 20. AIX上的Delphi用户身份验证
- 21. AIX 6.1上的僵尸线程
- 22. AIX/IBM上的cxf,jaxb Java - CollisionCheckStack问题
- 23. AIX上的Java 1.5崩溃5
- 24. libfaketime和Mac OS,LD_PRELOAD
- 25. 替代LD_PRELOAD或LD_LIBRARY_PATH
- 26. LD_PRELOAD不工作的printf
- 27. 带文件功能的LD_PRELOAD
- 28. AIX 52和AIX 53上的apr-util配置问题操作系统
- 29. Selector.close在AIX平台上抛出java.util.ConcurrentModificationException
- 30. 错误编译C在AIX上使用