0
最近,我遇到了一个代码片段的问题,它不返回期望值,这导致应用程序失败。关于ACE框架的查询
的代码使用以下命令内置在RedHat Linux 7.1 -
g++ ace-test.cpp -I<path-to-ace-6.2-root> -L<path-to-ace-6.2-root>/ace/Linux -g -lACE
代码段正在建造被粘贴下面 -
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "ace/MEM_Addr.h"
#include <iostream>
using namespace std;
int main(int argc, char* []) {
ACE_MEM_Addr addr ;
cout << "ACE_MEM_Addr::addr.get_host_name() " << addr.get_host_name() << endl ;
}
在执行时,所述代码打印以下行
ACE_MEM_Addr::addr.get_host_name() **unknown**
在最近修补过的运行linux的系统上。
在不修补的不同系统上,相同的代码返回正确的主机名。
我想弄清楚哪个补丁导致了这个问题,但无法取得很大进展。
如果有人可以请延长一点帮助,将不胜感激。
如果需要,我可以分享已应用的补丁列表。
尝试在'strace'下运行你的程序来查看它的功能。 – melpomene
谢谢!很快尝试 – ANSI
嗨@mepomene,Strace证明非常有用!非常感谢 !通过比较所做的系统调用,我发现代码的工作版本是从/ etc/hosts读取条目,而“破损”的版本是检查ipv6配置。任何可能导致它的想法? URL显示strace输出的比较再次感谢您的帮助! – ANSI