aix — Проблемы после обновления компилятора IBM C ++ с xlc_R 10.0 до 11.1

Все компилируется нормально, но во время выполнения происходит сбой без каких-либо coredumps, исключений или каких-либо логов о том, что происходит. Вставив строки отладки, я обнаружил, что это было в этом разделе кода

       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 >& schemaStructureDeque где DEQUE является определением для std :: deque.

OrbSchemaStructure является структурой, определенной в idl следующим образом:

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

Были ли какие-либо изменения в способе обработки заявок? Я что-то пропустил?

Прежде чем списывать этот вопрос как слишком локализованный, пожалуйста, дайте мне знать, если мне не хватает какой-либо информации, или я не ищу нужное место.

Я использую omniORB 4.0.4 кстати.

1

Решение

При компиляции в omniORB в AIX с использованием нового компилятора AIX 11.1 C ++ и связывании его с двоичным файлом он перестал падать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]