Итератор map/set не увеличивается при запуске AppVerifier

Я пытаюсь запустить приложение, которое обрабатывает клиентов по сети с помощью верификатора приложений.
Приложение содержит карту для обслуживания клиентов и семафор с максимальным числом 1 для блокировки карты.
Без верификатора он работает без ошибок, но когда верификатор подключен, я получаю следующую ошибку времени выполнения:

Итератор map/set не увеличивается

для следующего кода:

Lock l(_mapLock); // This object uses a semaphore for synchronization 

MapType::iterator it; 
ClientInfo info; 
it = _clientsMap.begin(); 
for (it = _clientsMap.begin(); it != _clientsMap.end(); it++) { 
  (*it).second->getInfo(&info); 
  if (strcmp(info.ip, clientIp.c_str()) == 0) { 
    return DUPLICATE_CLIENT; 
  } 
}

Любая идея для возможной причины?

Заранее спасибо.


person rkellerm    schedule 23.09.2012    source источник
comment
Может ли getInfo() изменить _clientsMap?   -  person Alan Stokes    schedule 23.09.2012
comment
Кстати, вам не нужно инициализировать it дважды, а ++it будет лучше, чем it++.   -  person Alan Stokes    schedule 23.09.2012
comment
Возможно прочитать об этом (дубликаты) link1 link2   -  person PSIAlt    schedule 24.09.2012