Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何检查共享对象的内部属性?_Unix_Solaris_Hp Ux - Fatal编程技术网

Unix 如何检查共享对象的内部属性?

Unix 如何检查共享对象的内部属性?,unix,solaris,hp-ux,Unix,Solaris,Hp Ux,使用HP-UX时,我可以使用chatr实用程序报告共享库的各种内部属性。它还允许我修改已构建的共享库的内部属性 chatr实用程序可以报告并在某些情况下修改以下内容: 运行时绑定行为 生成时创建的嵌入式库路径列表 库是否要进行运行时路径查找 内部名称 等等等等 这样的实用程序可用于Solaris吗 编辑:怪胎!感谢mark4o下面的回答,我重新访问了典型system.so(Sol 10上的libm.so.2)的elfdump输出。然而,奇怪的是,我输入了错误的输入命令: elfdump libm

使用HP-UX时,我可以使用chatr实用程序报告共享库的各种内部属性。它还允许我修改已构建的共享库的内部属性

chatr实用程序可以报告并在某些情况下修改以下内容:

  • 运行时绑定行为
  • 生成时创建的嵌入式库路径列表
  • 库是否要进行运行时路径查找
  • 内部名称
  • 等等等等
  • 这样的实用程序可用于Solaris吗

    编辑:怪胎!感谢mark4o下面的回答,我重新访问了典型system.so(Sol 10上的libm.so.2)的elfdump输出。然而,奇怪的是,我输入了错误的输入命令:

    elfdump libm.so.2 | moe
    
    这给了我一个惊人的意外惊喜,它还给了我一个名为moe的实用程序的使用信息,该实用程序的手册页描述部分说:

    moe实用程序显示包含保留运行时链接器令牌的路径名的最佳扩展。这些标记可用于定义动态对象中的依赖项、筛选器和运行路径。这些令牌在运行时的扩展提供了一种灵活的机制,用于选择在此计算机上性能最佳的对象和搜索路径


    这将帮助我解决为什么libm.so.2 shlib在两台不同的机器上都不兼容,导致我的不完整可执行文件无法在一台服务器上启动。

    有关显示信息的信息,请参阅Solaris和实用程序。对于调试绑定问题,也可能有帮助。但是,这些实用程序没有修改库的能力。

    从Solaris 11(以及它之前的一些OpenSolaris和Solaris Express发行版,但不是Solaris 10或更早版本)开始,现在有一个用于修改运行时路径和类似属性的工具。

    mark4o,干杯,但elfdump并没有给出我想要的确切信息。但是,重新访问给定系统的elfdump输出。因此给了我一个看起来非常有用的实用工具。我将编辑我的原始问题。当然,
    lari
    moe
    的兄弟是处理系统默认运行路径的实用程序。现在,如果你能在Oracle自己的站点(例如你链接到的帖子)上修复Oracle断开的链接就好了。。。(谢谢你把它们固定在如此顺便说一句)是的,到处的链接断开是令人讨厌的。对于这篇文章,您可以在Solaris 11手册页中看到发布后的版本,并在其他链接中用blogs.oracle.com替换blogs.sun.com。