Странная ошибка чтения памяти при отладке в IDA
Изучаю в IDA одно приложение. И столкнулся с рядом очень странных проблем, которые оказался не в силах объяснить. Вот одна из них: когда присоединяю процесс к отладке, то в какой-то момент работы программы выскакивает ошибка чтения данных:
Нажимаю ОК, и попадаю на инструкцию, которая собственно и вызвала эту ошибку:
И так, это обычный вызов виртуального метода класса. Т.е., попытка извлечь значение из таблицы виртуальных методов вызывает ошибку чтения памяти, словно страница этой памяти защищена, либо отсутствует. Однако делаю переход по адресу rax+0x10 и попадаю в нормальную секцию .rdata, при чтении данных из которой подобных ошибок не должно возникать в принципе!
Стоит ли говорить, что при выполнении программы без отладчика, никаких ошибок чтения не возникает (зато возникает другая ошибка, которая не проявляет себя под отладкой, но отловить её не могу без решения первой проблемы - вилы)?
Объясните пожалуйста, почему так происходит и как это побороть. Это глюк IDA, отладчика, или само приложение где-то проверяет отладчик и ставит защиту на rdata? Я даже ставил breakpoint на функцию VirtualProtect(), но он не сработал (да и сильно вряд ли, что в этом дело).
Использую IDA PRO v7.0, в качестве отладчика выбран Local Windows Debugger.


