2017-04-17 7 views
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を実行しているシステムで。

パッチが適用されていない別のシステムでは、同じコードが正しいホスト名を返します。

この問題の原因となったパッチを特定しようとしていますが、それ以上の進展はありませんでした。

誰かが少しでも助けてくれたら、大いに感謝します。

必要に応じて、適用されたパッチのリストを共有できます。

+0

'strace'の下でプログラムを実行して、それが何であるかを見てください。 – melpomene

+0

ありがとう!まもなくそれを試みよう – ANSI

+0

こんにちは@mepomene、Straceは本当に便利だと証明しました!どうもありがとう !システムコールを比較すると、動作するバージョンのコードは/ etc/hostsからエントリを読み込みますが、 "broken"バージョンではipv6の設定がチェックされています。潜在的にそれを引き起こす可能性のあるものについての考え? URLはstrace出力の比較を示しますもう一度あなたの助けに感謝します! – ANSI

答えて

1

最終的には、犯人を見つけることができました。ここで

は/etc/nsswitch.conf内のエントリです:

ホスト:ファイルのDNS - (パッチなしでホスト上で)

対ホスト:ファイルのDNS myhostnameと - (パッチを当てたホスト上)

myhostname後者のエントリ問題を修正しました。

関連RHELナレッジベースエントリ - すべてのヘルプのための

https://access.redhat.com/solutions/2766251

おかげでたくさん!

関連する問題