Исключений в отладчике нет скорее всего, перед тем как что-то читать из памяти он всегда вызывает специализированную функцию API (забыл название) на проверку доступен ли участок, если нет, отладчик дальше не лезет, никаких исключений, все в рамках пользовательского API.
Я бы упрятал обращения к mmio в отдельные процедуры с локальным контекстом, доступным только внутри них, т.е. типа ReadBAR(), WriteBAR(), все поинтеры внутри. Отладчиком внутрь не лезть, содержимое mmio если надо видеть только как результат подобных функций.