【问题标题】:Environment overrides for Linux linker/loaderLinux 链接器/加载器的环境覆盖
【发布时间】:2009-01-13 04:50:27
【问题描述】:

今天早些时候,我向question 询问了environ,其中一个interesting 回复建议我可以使用 LD_DEBUG 收集信息。

现在我已经了解了一些链接器/加载器环境变量(例如 LD_PRELOAD),但这个对我来说是新的。谷歌搜索,我发现一个 Linux 特定的手册页讨论链接器/加载器使用的environment variables,包括 LD_DEBUG。所以理论上,我已经准备好了。但在实践中,我确信我错过了与工具链中这个基本工具相关的一整套技巧。

简单地说,我还缺少什么?

【问题讨论】:

    标签: c++ c linux linker loader


    【解决方案1】:

    我最喜欢使用LD_PRELOAD 来解决 GNU libc 中的错误或错误功能;有一段时间connect 正在用 IPv6 做一些奇怪的事情,而我刚刚编写了自己的版本,始终使用 IPv4。

    Linux 用户可以试试

    man ld.so
    

    另外,ldd 命令告诉我们如何解析动态库,值得更广为人知。

    【讨论】:

    • @matli - 我有一些厚度。我使用过 man ld,但我从未想过使用“man ld.so”。只有在我听说 LD_DEBUG 时才在谷歌上搜索它让我进入了附近。 @Norman,回复:ldd,是的,我一直在使用它。
    • 你能发布你的代码吗?我想做类似的事情,Oracle 安装程序仅在看到 v6 加载时才侦听 v6,即使没有配置甚至启用 v6!它是一个错误,我们需要一个解决方法。你会从我那里得到一个很大的 +1 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2011-07-12
    • 2017-03-18
    相关资源
    最近更新 更多