События

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

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

Примечание Пока обратный вызов события обрабатывает событие, целевой объект приостанавливается и сеанс отладки доступен; однако, так как подсистема ожидала события (явно во время вызова WaitForEvent или неявно путем выполнения такой команды, как g (Go) или p (шаг), обратный вызов события не может вызвать WaitForEvent, и если он пытается выполнить какие-либо команды, которые вызовут выполнение отладчика, например g (Go) или p (шаг), подсистема интерпретирует эти команды как инструкции о том, как продолжить.

Фильтры событий

Подсистема отладчика также предоставляет фильтры событий, которые являются более простой альтернативой для базового мониторинга событий. Фильтры событий предоставляют несколько простых правил, которые указывают, должно ли событие быть напечатано в потоке вывода отладчика или прерваться в отладчик. Их также можно использовать для выполнения команд отладчика при возникновении события.

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

Дополнительные сведения о событиях мониторинга см. в разделе Мониторинг событий.