Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aparat debugera udostępnia funkcje monitorowania i reagowania na zdarzenia w obiekcie docelowym. Gdy wystąpi zdarzenie, aparat zawiesza element docelowy (często tylko krótko), a następnie powiadamia wszystkich klientów zdarzenia, którzy z kolei instruują aparat o tym, jak wykonanie powinno być kontynuowane w miejscu docelowym.
Aby powiadomić klienta o zdarzeniu, aparat wywołuje zarejestrowany przez klienta obiekt wywołania zwrotnego zdarzenia. Aparat udostępnia każde wywołanie zwrotne zdarzeń ze szczegółami zdarzenia, a wywołanie zwrotne zdarzeń instruuje aparat, w jaki sposób wykonanie powinno być kontynuowane w obiekcie docelowym. Gdy różne wywołania zwrotne zdarzeń zawierają instrukcje powodujące konflikt, aparat działa na instrukcji o najwyższym pierwszeństwie (patrz DEBUG_STATUS_XXX), co zwykle oznacza wybranie instrukcji, która obejmuje najmniejsze wykonanie obiektu docelowego.
Uwaga Podczas gdy wywołanie zwrotne obsługuje zdarzenie, obiekt docelowy jest zawieszony, a sesja debugowania jest dostępna; jednakże z powodu oczekiwania silnika na zdarzenie — zarówno jawnie podczas wywołania WaitForEvent, jak i niejawnie poprzez wykonanie polecenia takiego jak g (Go) lub p (Step) — wywołanie zwrotne nie może wywołać WaitForEvent, i jeśli spróbuje wykonać jakiekolwiek polecenia powodujące uruchomienie debugera, na przykład g (Go) lub p (Step), silnik zinterpretuje te polecenia jako instrukcje dotyczące dalszego postępowania.
Filtry zdarzeń
Silnik debugera udostępnia również filtry zdarzeń, które są prostszą alternatywą dla podstawowego monitorowania zdarzeń. Filtry zdarzeń zawierają kilka prostych reguł określających, czy zdarzenie ma być wypisywane do strumienia wyjściowego debugera, czy zatrzymane w nim. Mogą być one również używane do wykonywania poleceń debugera w przypadku wystąpienia zdarzenia.
Dodatkowe informacje
Aby uzyskać szczegółowe informacje na temat monitorowania zdarzeń, zobacz Monitorowanie zdarzeń.