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.
Aby zapoznać się z omówieniem zdarzeń w aparacie debugera, zobacz Zdarzenia.
Zdarzenia występujące w obiekcie docelowym lub silniku debugera mogą być monitorowane przy użyciu interfejsu IDebugEventCallbacks. Obiekt IDebugEventCallbacks może zostać zarejestrowany w kliencie przy użyciu polecenia SetEventCallbacks. Każdy klient może mieć tylko jeden obiekt IDebugEventCallbacks zarejestrowany w nim.
Kiedy obiekt IDebugEventCallbacks jest zarejestrowany przez klienta, silnik wywoła metodę obiektu IDebugEventCallbacks::GetInterestMask, aby określić, jakimi zdarzeniami obiekt jest zainteresowany. Do niego będą wysyłane tylko zdarzenia, w których interesuje się obiekt.
Dla każdego typu zdarzenia silnik wywołuje odpowiednią metodę wywołania zwrotnego w IDebugEventCallbacks. W przypadku zdarzeń dotyczących celu, wartość DEBUG_STATUS_XXX zwracana przez te wywołania określa, jak powinno przebiegać wykonanie celu. Silnik zbiera te wartości zwracane z każdego obiektu IDebugEventCallbacks, który wywołuje, i działa na tym, który ma najwyższy priorytet.
Zdarzenia z elementu docelowego, które domyślnie zatrzymują się na debugerze
Następujące zdarzenia domyślnie przerywają działanie debugera:
Zdarzenia punktu przerwania
Zdarzenia wyjątków (nie udokumentowane tutaj)
Błąd systemu
Zdarzenia z elementu docelowego, które domyślnie nie wywołują przerwania w debugerze
Następujące zdarzenia nie powodują domyślnego zatrzymania debugera:
Utwórz zdarzenie procesu
Zdarzenie zakończenia procesu
Utwórz zdarzenie wątku
Zdarzenie zakończenia wątku
Zdarzenie ładowania modułu
Zwalnianie zdarzenia modułu
Zmiany silnika wewnętrznego
Następujące elementy nie są rzeczywistymi zdarzeniami, lecz jedynie zmianami w silniku wewnętrznym:
Zmiana celu
Zmiana silnika
Zmiana symbolu silnika
Zmiana stanu sesji