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.
Poniżej opisano proces, który występuje w przypadku zgłaszania wyjątków.
Proces obsługi wyjątków
Gdy wyjątek jest zgłaszany po raz pierwszy, zanim zostanie obsłużony przez program obsługi wyjątków w debugowanym programie, mechanizm debugowania (DE) wysyła zdarzenie IDebugExceptionEvent2 do menedżera sesji debugowania (SDM) jako zdarzenie zatrzymania. Element
IDebugExceptionEvent2jest wysyłany, jeśli tylko ustawienia wyjątku (określone w oknie dialogowym Wyjątki w pakiecie debugowania) określają, że użytkownik chce zatrzymać powiadomienia o wyjątkach pierwszej szansy.SdM wywołuje właściwość IDebugExceptionEvent2::GetException , aby uzyskać właściwość wyjątku.
Pakiet debugowania wywołuje element IDebugExceptionEvent2::CanPassToDebuggee , aby określić, jakie opcje mają być przedstawione użytkownikowi.
Pakiet debugowania pyta użytkownika, jak obsłużyć wyjątek, otwierając okno dialogowe wyjątku pierwszej szansy.
Jeśli użytkownik zdecyduje się kontynuować, program SDM wywołuje metodę IDebugExceptionEvent2::CanPassToDebuggee.
Jeśli metoda zwraca S_OK, wywołuje metodę IDebugExceptionEvent2::PassToDebuggee.
— lub —
Jeśli metoda zwraca S_FALSE, debugowany program ma drugą szansę obsługi wyjątku.
Jeśli debugowany program nie ma procedury obsługi dla wyjątku typu "druga szansa", DE wysyła
IDebugExceptionEvent2do SDM jako EVENT_SYNC_STOP.Pakiet debugowania pyta użytkownika, jak obsłużyć wyjątek, poprzez otwarcie okna dialogowego wyjątku pierwszego poziomu.
Pakiet debugowania wywołuje element IDebugExceptionEvent2::CanPassToDebuggee , aby określić, jakie opcje mają być przedstawione użytkownikowi.
Pakiet debugowania pyta użytkownika, jak obsłużyć wyjątek, otwierając okno dialogowe wyjątku drugiej szansy.
Jeśli metoda zwraca S_OK, wywołuje
IDebugExceptionEvent2::PassToDebuggee.