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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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