Поделиться через


Практическое руководство. Установка точки останова для данных (только машинный код)

Этот раздел применим к:

Выпуск

Visual Basic

C#

F#

C++

Web Developer

Express

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Pro, Premium и Ultimate

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

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

Точки останова для данных не работают при следующих условиях: если процесс (не отлаживаемый) выполняет запись в указанную область память, или если указанная область памяти совместно используется двумя и более процессами.

точки останова для данных не работают, если область памяти обновляется в ядре. Например, если память передается в функцию ReadFile 32-разрядного Windows, память будет обновляться из режима ядра и отладчик не будет прерывать выполнение по записи в память.

Чтобы установить точку останова для данных, отладчик должен находиться в режиме приостановки.

Адреса переменных меняются в разных сеансах отладки. По этой причине точки останова для данных автоматически отключаются в конце каждого сеанса отладки.

Если установить точку останова для данных на локальную переменную, точка останова для данных остается включенной, когда функция заканчивается. Однако, адрес памяти, на который она установлена, имеет теперь другое значение. Таким образом, результаты такой точки останова непредсказуемы. Если установить точку останова для данных на локальную переменную, рекомендуется удалить или отключить точку останова до конца функции.

Visual Studio поддерживает не более четырех точек останова для данных на решение.

Примечание

В зависимости от текущих параметров или выпуска отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.

Установка точки останова по изменению памяти

  1. В меню Отладка выберите команду Создать точку останова, а затем — Создать точку останова в данных.

    – или –

    В меню окна Точки останова последовательно выберите команды Создать и Создать точку останова в данных.

    Появится диалоговое окно Создать точку останова.

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

    Например, для прерывания при изменении содержимого переменной avar введите &avar.

  3. В поле Число байтов введите количество байт, за которыми должен наблюдать отладчик.

    Например, при вводе 4 отладчик будет отслеживать четыре байта, начиная с &myFunction, и прерывать выполнение, если любой из этих байтов изменит значение.

  4. Нажмите кнопку ОК.

См. также

Основные понятия

Точки останова и точки отслеживания