我有一个Solaris进程,它是一个C++应用程序,由ld几个.so库加载.该应用程序有一个函数,它在调用函数中获取一个返回地址,然后尝试确定所述调用函数的名称.
如果我使用dladdr(3)它,它并不总是把我期望在Dl_info :: dli_sname中看到.看起来它返回的函数名称不是最接近下方或指针值.如果我取指针值并查看输出nm,我可以将该值与我期望的确切函数匹配.
我想知道是否有办法检索进程的符号映射,让它搜索函数名称而不使用dladdr(3).我特别感兴趣的是获得一个符号映射,不仅可以用于可执行文件本身,还可以用于.so它已加载的所有库.
我在Solaris10/SPARC上运行,我正在使用gcc 4.2.x.
谢谢!
有没有办法在Ansible group_vars文件或Ansible使用的Jinja2模板中将任意字符串解析为主机名?让我们说,我想定义一个变量,global_vars/all其中包含www.google.com解析的几个IP地址之一.在这个例子中,我www.google.com只是作为一个字符串的例子,可以解析为多个IP地址但我不能使用Ansible hostvars作为地址,因为我不能ssh到它.
我试图连接Pythonic,socket.gethostbyname()但无法正确使用语法.最多,我的变量变成了一个文字"socket.gethostbyname('my-host-1')".
我知道我可以回退到shell脚本并利用shell中可用的工具但我想看看在Ansible中是否有一种优雅的方法来实现这一点.
问题的更多细节是我需要使用允许主机的IP地址填充Postgres HBA配置文件.我无法使用其主机名,因为目标部署没有基于主机名的HBA所需的反向DNS.
我真的希望Postgres解析配置文件中的名称并将其与客户端的IP地址进行匹配,而不是反向查找客户端的IP地址,然后匹配主机名字符串.但这太过于期待,而且等待时间太长.我现在需要一个解决方法,我想留在Ansible中,而不必将其卸载到外部脚本中.
感谢您阅读这篇文章!