Odcinek
C000027B wyjątku
Wyjątek stowed jest typem wyjątku dokonanego przez aplikacje platformy UWP. Został on wprowadzony w systemie Windows 8.0 jako część interfejsu API WinRT (obecnie znany jako PLATFORMA UWP).
Kod wyjątku jest 0xC000027B.
Pierwszy parametr wyjątku (0) to początkowy adres tablicy wskaźników do struktur rozpoczynających się od struktury STOWED_EXCEPTION_INFORMATION_HEADER . Od systemu Windows 8.1 STOWED_EXCEPTION_INFORMATION_V2 jest używana wersja.
Drugi parametr wyjątku (1) to liczba wskaźników w tablicy.
Wyjątek stowed został zastąpiony/rozszerzony przez wyjątek punkt-of-failure (0xC000027C). Podobnie jak wyjątki POF, kod wyjątku jest generowany przez platformę WinRT. Nie wymaga ponownego kompilowania aplikacji, aby były używane.
Wyjątek stowed jest zgłaszany, gdy operacja asynchroniczna kończy się niepowodzeniem. Gdy wyjątek jest zgłaszany z wątku roboczego za pośrednictwem wywołania roOriginateException lub RoOriginateLanguageException , stos Backtrace (tablica wskaźników instrukcji) jest zbierana z bieżącego wątku za pośrednictwem wywołania funkcji CaptureStackBackTrace . Stos Backtrace i HRESULT wyjątku są opakowane w obiekt IRestrictedErrorInfo i kierowane przez warstwy projekcji języka WinRT do obiektu wywołującego.
Jeśli wyjątek nie jest obsługiwany przez obiekt wywołujący, zgłaszany jest błąd krytyczny. Ponieważ rzutowanie jest odroczone, bieżący kontekst skojarzonego zrzutu ma niewielką wartość. Wątek oryginalnego problemu regularnie nie istnieje i jeśli tak, zakończył operację (co oznacza, że pamięć stosu wątku została zastąpiona). Oznacza to, że parametry funkcji i zmienne lokalne nie są dostępne.
Wykonaj następujące kroki podczas debugowania tych problemów z narzędziami debugowania dla systemu Windows:
- .exr -1
- Wyświetl kod, adres tablicy wyjątków stowed i count za pomocą parametrów
- !pde.dse
- Wyświetla listę wyjątków stowed
- Każdy hrESULT jest opisany (takie same dane wyjściowe jak !pde.err)
- Każdy element Backtrace jest wyświetlany jako stos wywołań
- Każdy (opcjonalnie) zagnieżdżony wyjątek jest wyświetlany (np. !sos.pe danych wyjściowych wyjątku CLR)
Zasoby dodatkowe:
- Wewnątrz — wyjątek typu punkt-awaria
- Wewnątrz — .exr
- Wewnątrz — Zestaw Windows SDK
- Defrag Tools — rozszerzenie debugera PDE (za pośrednictwem linku usługi OneDrive)
- Defrag Tools — #136 — Debugowanie zrzutów awaryjnych trybu użytkownika — część 2
- Defrag Tools — #167 — Debugowanie zrzutów awaryjnych trybu użytkownika — Redux
- Dokumentacja firmy Microsoft — narzędzia debugowania dla systemu Windows
- BLOG NTDebugging — część 1 + część 2
- MSDN — RoOriginateException
- MSDN — RoOriginateLanguageException
- MSDN — interfejs IRestrictedErrorInfo
Wyjątek stowed jest typem wyjątku dokonanego przez aplikacje platformy UWP. Został on wprowadzony w systemie Windows 8.0 jako część interfejsu API WinRT (obecnie znany jako PLATFORMA UWP).
Kod wyjątku jest 0xC000027B.
Pierwszy parametr wyjątku (0) to początkowy adres tablicy wskaźników do struktur rozpoczynających się od struktury STOWED_EXCEPTION_INFORMATION_HEADER . Od systemu Windows 8.1 STOWED_EXCEPTION_INFORMATION_V2 jest używana wersja.
Drugi parametr wyjątku (1) to liczba wskaźników w tablicy.
Wyjątek stowed został zastąpiony/rozszerzony przez wyjątek punkt-of-failure (0xC000027C). Podobnie jak wyjątki POF, kod wyjątku jest generowany przez platformę WinRT. Nie wymaga ponownego kompilowania aplikacji, aby były używane.
Wyjątek stowed jest zgłaszany, gdy operacja asynchroniczna kończy się niepowodzeniem. Gdy wyjątek jest zgłaszany z wątku roboczego za pośrednictwem wywołania roOriginateException lub RoOriginateLanguageException , stos Backtrace (tablica wskaźników instrukcji) jest zbierana z bieżącego wątku za pośrednictwem wywołania funkcji CaptureStackBackTrace . Stos Backtrace i HRESULT wyjątku są opakowane w obiekt IRestrictedErrorInfo i kierowane przez warstwy projekcji języka WinRT do obiektu wywołującego.
Jeśli wyjątek nie jest obsługiwany przez obiekt wywołujący, zgłaszany jest błąd krytyczny. Ponieważ rzutowanie jest odroczone, bieżący kontekst skojarzonego zrzutu ma niewielką wartość. Wątek oryginalnego problemu regularnie nie istnieje i jeśli tak, zakończył operację (co oznacza, że pamięć stosu wątku została zastąpiona). Oznacza to, że parametry funkcji i zmienne lokalne nie są dostępne.
Wykonaj następujące kroki podczas debugowania tych problemów z narzędziami debugowania dla systemu Windows:
- .exr -1
- Wyświetl kod, adres tablicy wyjątków stowed i count za pomocą parametrów
- !pde.dse
- Wyświetla listę wyjątków stowed
- Każdy hrESULT jest opisany (takie same dane wyjściowe jak !pde.err)
- Każdy element Backtrace jest wyświetlany jako stos wywołań
- Każdy (opcjonalnie) zagnieżdżony wyjątek jest wyświetlany (np. !sos.pe danych wyjściowych wyjątku CLR)
Zasoby dodatkowe:
- Wewnątrz — wyjątek typu punkt-awaria
- Wewnątrz — .exr
- Wewnątrz — Zestaw Windows SDK
- Defrag Tools — rozszerzenie debugera PDE (za pośrednictwem linku usługi OneDrive)
- Defrag Tools — #136 — Debugowanie zrzutów awaryjnych trybu użytkownika — część 2
- Defrag Tools — #167 — Debugowanie zrzutów awaryjnych trybu użytkownika — Redux
- Dokumentacja firmy Microsoft — narzędzia debugowania dla systemu Windows
- BLOG NTDebugging — część 1 + część 2
- MSDN — RoOriginateException
- MSDN — RoOriginateLanguageException
- MSDN — interfejs IRestrictedErrorInfo