Здравствуйте, 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>Может кто сталкивался с подобным поведением вектора и подскажет метод поиска и устранения ошибки?
Оптимизацию отключили в дебажном таргете?