【发布时间】:2014-02-07 09:35:52
【问题描述】:
我目前正在尝试使用 LD_PROFILE 环境变量来分析预加载的共享库。
在使用预加载的库运行应用程序(在我的例子中为 ncat)之前,我使用“-g”标志编译库并导出 LD_PROFILE_OUTPUT 和 LD_PROFILE。所以,更准确地说,我要做的是:
- 使用“-g”标志编译共享库 libexample.so。
export LD_PROFILE_OUTPUT=`pwd`export LD_PROFILE=libexample.so- 运行
LD_PRELOAD=`pwd`/libexample.so ncat ...
预加载本身确实有效,并且使用了我的库,但没有创建文件 libexample.so.profile。如果我改用export LD_PROFILE=libc.so.6,则会有一个文件 libc.so.6.profile 符合预期。
这是结合 LD_PRELOAD 和 LD_PROFILE 的问题还是我做错了什么?
如果有任何相关性,我在 CentOS 6.4 上使用 glibc v2.12。
非常感谢!
【问题讨论】:
-
7 年后我遇到了同样的问题。我想知道是否应该指定版本号。