Re: Странное поведение std::vector в DEBUG`е
От: Аноним  
Дата: 19.02.08 10:20
Оценка:
Здравствуйте, Tujh, Вы писали:

T>Есть некоторые классы для TCP сервера со следующим кодом:


T>Код отладочный, для проверки работы, потом будет оптимизироваться...


T>Проблема в следующем:

T>MSVC2003 (VC7.1)
T>в DEBUG режиме функция ik_server::updateClientData получает _пустой_ вектор m_clientArray, при этом в ik_server::createDefaultClientData данные создаются и заносятся в вектор корректно (смотрел дебагером), при этом даже m_clientArray.end(), являющийся единственным элементом, отличается от того, что был на выходе ik_server::createDefaultClientData.
T>В RELEASE однако, поиск работает как положено (данные обновляются), но адреса и содержимое вектора просмотреть невозможно естественно.

T>З.Ы. есть вторая проблема в MSVC2008 (VC9.0)

T>Опять же в DEBUG в строке memcpy(pID, "DATA\n", 6) pID равен NULL хотя до входа в ik_data_t ik_t = createDefaultClientData(l_id) он корректен.

T>Думается, что где-то течет или портится память, но тогда не понятно, почему я не вижу ни одной ошибки в RELEASE и более того, релизный вариант работает как задумывалось, а дебажный — нет.

T>Может кто сталкивался с подобным поведением вектора и подскажет метод поиска и устранения ошибки?

Оптимизацию отключили в дебажном таргете?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.