Condividi tramite


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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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 causa

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

Informazioni aggiuntive
  • 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

Verifica applicazioni - Domande frequenti