Verifica applicazione - Codici di arresto - Servizi
I test dei servizi, verificare l'uso appropriato dei servizi Windows. Ad esempio, i servizi vengono avviati e arrestati correttamente. Per altre informazioni su Servizi Windows, vedere Servizi.
I codici di arresto seguenti sono contenuti in questo set di test.
Uso di un'API non Unicode (ad esempio RegisterServiceCtrlHandlerA anziché RegisterServiceCtrlHandlerW)
Probabile causaProbabilmente l'applicazione non è stata compilata con la macro UNICODE definita e pertanto vengono usate interfacce non Unicode.
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Nome API %ws
- Parametro 1 - Non usato.
- Parametro 2 - Non usato.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: USING_NON_UNICODE_API
- Arrestare il codice: 4000000
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
L'API StartServiceCtrlDispatcher viene chiamata una seconda volta
Probabile causaQuesta API deve essere chiamata una sola volta all'inizio della funzione wmain del servizio.
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Nome API %ws
- Parametro 1 - SERVICE_TABLE_ENTRY parametro.
- Parametro 2 - Non usato.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: CTRL_DISPATCHER_CALLED_TWICE
- Arrestare il codice: 4000001
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
L'handle di SERVICE_STATUS non valido viene passato a SetServiceStatus
Probabile causaL'handle di SERVICE_STATUS non valido viene passato a SetServiceStatus.
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Nome API %ws
- Parametro 1 - SERVICE_STATUS_HANDLE valore.
- Parametro 2 - Non usato.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: INVALID_SERVICE_STATUS_HANDLE
- Arrestare il codice: 4000002
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
SetServiceStatus viene chiamato da due thread
Probabile causaQuesta API deve essere chiamata serialmente.
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Nome API %ws viene chiamato simultaneamente dal servizio %ws
- Parametro 1 - LPSERVICE_STATUS valore passato.
- Parametro 2 - Non usato.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: SET_SERVICE_STATUS_RACE
- Arrestare il codice: 4000003
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
I controlli STOP/SHUTDOWN vengono accettati mentre il servizio è in START_PENDING stato
Probabile causaLa maggior parte dei servizi non può accettare controlli arresti/arresto durante l'inizializzazione
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Nome del servizio: %ws dwControlsAccepted: %08X
- Parametro 1 - LPSERVICE_STATUS valore passato.
- Parametro 2 - Non usato.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: STOP_SHUTDOWN_ACCEPTED
- Arrestare il codice: 4000004
- Gravità: Avviso
- Errore una sola volta: No
- Report degli errori: Nessuno
- Log to file: Sì
- Creare backtrace: Sì
SERVICE sta tentando una transizione di stato non valida
Probabile causaIl servizio ha tentato di eseguire una transizione di stato non valida o di impostare parametri di stato identici
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - È stato trovato il tentativo di una transizione di stato non valida
- Parametro 1 - LPSERVICE_STATUS stato corrente.
- Parametro 2 - LPSERVICE_STATUS Nuovo stato.
- Parametro 3 - Ultima traccia dello stack SetServiceStatus.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: INVALID_STATE_TRANSITION
- Arrestare il codice: 4000005
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
SERVICE sta tentando di impostare parametri di stato identici
Probabile causaIl servizio ha tentato di impostare parametri di stato identici
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Il servizio %ws ha tentato di impostare parametri di stato identici
- Parametro 1 - LPSERVICE_STATUS stato corrente.
- Parametro 2 - LPSERVICE_STATUS Nuovo stato.
- Parametro 3 - Ultima traccia dello stack SetServiceStatus.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: DUPLICATE_STATE_PARAMS
- Arrestare il codice: 4000006
- Gravità: Avviso
- Errore una sola volta: No
- Report degli errori: Nessuno
- Log to file: Sì
- Creare backtrace: Sì
SERVICE lascia i thread in sospeso dopo aver immesso lo stato STOPPED
Probabile causaIl servizio lascia i thread in sospeso dopo aver dichiarato lo stato STOPPED
Informazioni visualizzate dal verificatore dell'applicazione- Formato: - Il servizio %ws perde i thread
- Parametro 1 - Id thread del thread trasuso.
- Parametro 2 - Tag del servizio.
- Parametro 3 - Non usato.
- Parametro 4 - Non usato.
- Livello di test: Servizio
- ID di arresto: LEAKED_THREAD
- Arrestare il codice: 4000007
- Gravità: Errore
- Errore una sola volta: No
- Report degli errori: Pausa
- Log to file: Sì
- Creare backtrace: Sì
Vedere anche
Verifica applicazioni - Codici e definizioni di arresto
Verifica applicazione - Panoramica
Verifica applicazioni - Funzionalità
Verifica applicazioni - Test delle applicazioni
Verifica applicazione - Test all'interno del verificatore di applicazioni
Verifica applicazione - Arresta il verifica dell'applicazione di debug