Доброго всем вемени суток Есть многопоточное приложение, один тред берёт данные помещает в буфер, редактирует, посылает сообщение второму треду с адресом буфера мол теперь твоя очередь обрабатывать данные, второй тред получив сообщение делает что надо и все счастливы... Но иногда происходит следюущая ситуация. Ставлю точку останова в первом треде перед посылкой сообщения и смотрю что в буфере, там всё в порядке. Сообщение ушло дальше попадаем на точку останова во втором треде после получения сообщения смотрю в буффер первые 8 байт звтерты мусором. По сути дела в код забрался Коварный Баг... Есть ли такие отладчики чтоб можно было поставить точку останова на даных памяти?
Опишите буфер, где он что за регион памяти< кто и как в него пишет. Мб ядро пишет, тогда юзермодный хардварный брейк не сработает, или он в разделяемой памяти, да и вобще можно нагодать кучу ситуаций.
Приложение User Mode Память выделяется push edi push GMEM_FIXED or GMEM_ZEROINIT call GlobalAlloc Ща попробую Олли
Окно CPU, зона дампа. Ctrl+G переход в нужное место адреса. Затем Выделяете данные и правой кн. мыши ставите Breakpoint. Есть статьи по Олли на сайте прочтите, там хорошо описано, как лучше сделать.