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


Методы управления точками останова

Расположение точки останова можно указать по виртуальному адресу, смещению модуля и подпрограммы, а также по исходному файлу и номеру строки (в режиме исходного кода). Если установить точку останова в подпрограмме без смещения, точка останова активируется при вводе этой подпрограммы.

Существует несколько дополнительных типов точек останова:

  • Точка останова может быть связана с определенным потоком.

  • Точка останова может включать фиксированное количество проходов через адрес перед его активацией.

  • Точка останова может автоматически выдавать определенные команды при ее активации.

  • Точку останова можно задать для неисполняемой памяти и watch для этого расположения для чтения или записи.

При отладке нескольких процессов в пользовательском режиме коллекция точек останова зависит от текущего процесса. Чтобы просмотреть или изменить точки останова процесса, необходимо выбрать процесс в качестве текущего процесса. Дополнительные сведения о текущем процессе см. в разделе Управление процессами и потоками.

Команды отладчика для управления и отображения точек останова

Для управления точками останова или отображения их можно использовать следующие методы:

В WinDbg есть несколько элементов пользовательского интерфейса, которые упрощают управление точками останова и отображение их. См. раздел Настройка точек останова в WinDbg (классическая модель).

Каждая точка останова имеет десятичное число, которое называется идентификатором точки останова, связанным с ней. Это число определяет точку останова в различных командах.

Команды точки останова

Вы можете включить команду в точку останова, которая автоматически выполняется при достижении точки останова. Например, следующая команда прерывается в MyFunction+0x47, записывает файл дампа, а затем возобновляет выполнение.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

Примечание Если вы управляете отладчиком пользовательского режима из отладчика ядра, не используйте g (Go) в командной строке точки останова. Последовательный интерфейс может не идти в ногу с этой командой, и вы не сможете вернуться в CDB. Дополнительные сведения об этой ситуации см. в разделе Управление отладчиком User-Mode из отладчика ядра.

Количество точек останова

В режиме ядра можно использовать не более 32 точек останова программного обеспечения. В пользовательском режиме можно использовать любое количество точек останова программного обеспечения.

Количество поддерживаемых точек останова процессора зависит от целевой архитектуры процессора.

Условные точки останова

Вы можете задать точку останова, которая активируется только при определенных условиях. Дополнительные сведения об этих типах точек останова см. в разделе Установка условной точки останова.

Неоднозначные точки останова

В отладчике версии 10.0.25310.1001 и более поздних версиях поддерживается неоднозначное разрешение точек останова. Неоднозначные точки останова позволяют отладчику задавать точки останова в определенных сценариях, где выражение точки останова разрешается в несколько расположений. Дополнительные сведения см. в разделе Неоднозначное разрешение точек останова.

См. также

Использование точек останова

Синтаксис точки останова

bp, bu, bm (установка точки останова)

Неразрешенные точки останова (bu Точки останова)