2015-08-09 7 views
1

Мне было просто интересно, как данные точки останова (aka watchpoint) созданы?Как создаются точки останова данных?

Я знаю, что общие точки останова сделаны с помощью специальной инструкции INT3 на x86.

Я полагаю, вы можете создать программное обеспечение точки наблюдения, регулярно просматривая память.

Но с точки зрения писать свой собственный отладчик аппаратных точек останова, я ничего не могу найти в Windows Reference относительно этого (только тезисы две темы на WinDbg 12). Я еще не смотрел на Linux.

Любая идея?

Благодаря

+0

Современные процессоры имеют встроенное отладочное оборудование. –

ответ

2

На процессоре x86, вы создали контрольные точки данных с помощью debug registers на процессоре. Регистры отладки DR0-DR3 хранят адреса для просмотра. Именно по этой причине Visual Studio ограничивается четырьмя точками прерывания данных.

Смежные вопросы