Udostępnij za pośrednictwem


Weryfikator aplikacji — kody zatrzymania — usługi

Usługi testuje, sprawdza, czy są używane usługi systemu Windows. Na przykład, że usługi są uruchamiane i zatrzymywane prawidłowo. Aby uzyskać więcej informacji na temat usług systemu Windows, zobacz Services.

Poniższe kody zatrzymania znajdują się w tym zestawie testów.

Używanie interfejsu API innego niż Unicode (np. RegisterServiceCtrlHandlerA zamiast RegisterServiceCtrlHandlerW)

prawdopodobną przyczyną

Najprawdopodobniej aplikacja nie została skompilowana za pomocą zdefiniowanego makra UNICODE i dlatego używane są interfejsy inne niż Unicode.

informacje wyświetlane przez weryfikatora aplikacji
  • Format : — nazwa interfejsu API  %ws
  • parametr 1 — Nie jest używany.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • Identyfikator zatrzymania: USING_NON_UNICODE_API
  • Kod zatrzymania: 4000000
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Interfejs API StartServiceCtrlDispatcher jest wywoływany po raz drugi

prawdopodobną przyczyną

Ten interfejs API ma być wywoływany tylko raz na początku funkcji wmain usługi.

informacje wyświetlane przez weryfikatora aplikacji
  • Format : — nazwa interfejsu API  %ws
  • parametr 1 — parametr SERVICE_TABLE_ENTRY.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • identyfikator zatrzymania : CTRL_DISPATCHER_CALLED_TWICE
  • Kod zatrzymania: 4000001
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Nieprawidłowy dojście SERVICE_STATUS jest przekazywane do parametru SetServiceStatus

prawdopodobną przyczyną

Nieprawidłowy uchwyt SERVICE_STATUS jest przekazywany do parametru SetServiceStatus.

informacje wyświetlane przez weryfikatora aplikacji
  • Format : — nazwa interfejsu API  %ws
  • parametr 1 — wartość SERVICE_STATUS_HANDLE.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • Identyfikator zatrzymania: INVALID_SERVICE_STATUS_HANDLE
  • Kod zatrzymania: 4000002
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Parametr SetServiceStatus jest wywoływany z dwóch wątków

prawdopodobną przyczyną

Ten interfejs API ma być wywoływany szeregowo.

informacje wyświetlane przez weryfikatora aplikacji
  • format : — nazwa interfejsu API  %ws jest wywoływana współbieżnie z usługi %ws
  • Parametr 1 — przekazana wartość LPSERVICE_STATUS.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • Identyfikator zatrzymania: SET_SERVICE_STATUS_RACE
  • Kod zatrzymania: 4000003
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Kontrolki STOP/SHUTDOWN są akceptowane, gdy usługa jest w stanie START_PENDING

prawdopodobną przyczyną

Większość usług nie może akceptować kontrolek zatrzymania/zamykania podczas inicjowania

informacje wyświetlane przez weryfikatora aplikacji
  • format : — nazwa usługi : %ws dwControlsAccepted: %08X
  • Parametr 1 — przekazana wartość LPSERVICE_STATUS.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • Identyfikator zatrzymania: STOP_SHUTDOWN_ACCEPTED
  • Kod zatrzymania: 4000004
  • ważność : ostrzeżenie 
  • błąd jednorazowy : nie
  • raport o błędach : None
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Usługa próbuje przejść nieprawidłowy stan

prawdopodobną przyczyną

Usługa próbowała wykonać nieprawidłowe przejście stanu lub ustawić identyczne parametry stanu

informacje wyświetlane przez weryfikatora aplikacji
  • format : —  Service %ws podjęto próbę przejścia nieprawidłowego stanu
  • parametr 1 — LPSERVICE_STATUS bieżący stan.
  • parametr 2 — LPSERVICE_STATUS nowy stan.
  • parametr 3 — ślad stosu Last SetServiceStatus.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • Identyfikator zatrzymania: INVALID_STATE_TRANSITION
  • Kod zatrzymania: 4000005
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Usługa próbuje ustawić identyczne parametry stanu

prawdopodobną przyczyną

Usługa próbowała ustawić identyczne parametry stanu

informacje wyświetlane przez weryfikatora aplikacji
  • format : —  Usługa %ws próbowała ustawić identyczne parametry stanu
  • parametr 1 — LPSERVICE_STATUS bieżący stan.
  • parametr 2 — LPSERVICE_STATUS nowy stan.
  • parametr 3 — ślad stosu Last SetServiceStatus.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • identyfikator zatrzymania : DUPLICATE_STATE_PARAMS
  • Kod zatrzymania: 4000006
  • ważność : ostrzeżenie 
  • błąd jednorazowy : nie
  • raport o błędach : None
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Usługa pozostawia oczekujące wątki po wprowadzeniu stanu ZATRZYMANO

prawdopodobną przyczyną

Usługa pozostawia oczekujące wątki po zadeklarowaniu stanu ZATRZYMANO

informacje wyświetlane przez weryfikatora aplikacji
  • format : —  Service %ws przecieka wątki
  • parametr 1 — identyfikator wątku wycieku wątku.
  • parametr 2 — tag usługi.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : usługa 
  • identyfikator zatrzymania : LEAKED_THREAD
  • Kod zatrzymania: 4000007
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Zobacz też

Application Verifier — kody zatrzymania i definicje

Application Verifier — omówienie

Application Verifier — funkcje

Application Verifier — testowanie aplikacji

Application Verifier — testy w Weryfikatora aplikacji

Application Verifier — debugowanie weryfikatora aplikacji zatrzymuje

Application Verifier — często zadawane pytania