1

すべてが正常にコンパイルされますが、実行時に、コアダンプ、例外、または何が起こっているかについてのログの手がかりなしでクラッシュします。デバッグ行を挿入した後、コードのこのセクションの周りにあることがわかりました

       if( MISC_TABLE_ID != tableID )
       {
            OrbSchemaStructure orbSchemaStruct;
            orbSchemaStruct.tableName = tableView;
            orbSchemaStruct.columnName = colName;
            orbSchemaStruct.dataType   = tsFact->convertDBDataTypeToEVDataType( toString( col.type() ) );
            orbSchemaStruct.primaryKeyComponent = pkComponent;
            schemaStructureDeque.push_back( orbSchemaStruct );  //crashes after this line
        }

そして、push_back が発生するこのブロックの最後の行で発生しています。

schemaStructureDequeたまたまDEQUE< OrbSchemaStructure >& schemaStructureDequeDEQUE が std::deque の定義である型のオブジェクトです。

OrbSchemaStructure は、次のように idl で定義された構造体です。

 struct OrbSchemaStructure
{
   string        tableName;
   string        columnName;
   unsigned long dataType;
   boolean       primaryKeyComponent;
};

deques の処理方法に変更はありましたか? 何か不足していますか?

この質問をローカライズしすぎていると書き留める前に、情報が不足している場合、または適切な場所を探していない場合はお知らせください。

私はomniORB 4.0.4 btwを使用しています。

4

1 に答える 1

0

新しいAIX11.1C ++コンパイラーを使用してAIX上のomniORBでコンパイルし、それをバイナリーとリンクすると、クラッシュが停止しました。

于 2012-10-23T20:57:50.807 に答える