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


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

Подсистема отладчика может создавать и отслеживать точки останова в целевом объекте.

Существует два типа точек останова, которые подсистема может вставлять в целевой объект: точки останова программного обеспечения и точки останова процессора.

  • Точки останова программного обеспечения вставляются в код целевого объекта путем изменения инструкции процессора в расположении точки останова. Подсистема отладчика отслеживает такие точки останова; они невидимы для клиентов, которые считывают и записывают память в этом расположении. Точка останова программного обеспечения активируется, когда целевой объект выполняет измененную инструкцию.

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

Адрес точки останова может быть указан явным адресом, выражением, результатом которого является адрес, или выражением, которое может оцениваться как адрес в будущем. В последнем случае при каждой загрузке или выгрузке модуля в целевом объекте обработчик будет пытаться повторно оценить выражение и вставить точку останова, если он может определить адрес; это позволяет устанавливать точки останова в модулях перед их загрузкой.

С точкой останова можно связать ряд параметров для управления ее поведением:

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

  • С точкой останова могут быть связаны команды отладчика; Эти команды будут автоматически выполняться при активации точки останова.

  • Точку останова можно пометить как неактивную, пока целевой объект не пройдет указанное количество раз.

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

Дополнительные сведения

Дополнительные сведения об использовании точек останова см. в разделе Использование точек останова.