Проблеммы....
От: Tom Россия http://www.RSDN.ru
Дата: 20.10.04 18:21
Оценка:
Жил был проект. Жил себе нормально. Куча кривого кода, огромные размеры. Ну в общем всё как у всех.
И вот было принято решение один компонент проекта из сервиса EXE переделать на Dll.
Всё было сделано за пол дня. В принципе в коде ничего не менялось, и даже какая то часть проекта работает, но есть и непонятные проблеммы. А именно, есть такое место:
//
// Место 1
// mPhasePropertyMap - унаследован от std::map
//
for ( ULONG i = 1; i <= newQrePhases; i++ )
{
    m_mPhasePropertyMap.Insert( i );
    void* p = &m_mPhasePropertyMap[1]; // Значение p=0x00000010
}

//
// Реализация Insert
//
....
....
....
BvObject::PropertyContainer pc = DefaultContainer( pTable );
insert( value_type( nContainerID, pc) );
void * p = &this[nContainerID]; // значение p, при nContainerID=1, 0x01b589ac


Фактически происходит то, что после выхода из функции std::map возвращает неправильное (другое) значение. Это может быть стек?

ps:
BC только ругается на выделения памяти по global_operator_new, а освобождения по free
Posted via RSDN NNTP Server 1.9 gamma
Народная мудрось
всем все никому ничего(с).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.