Vérificateur d’application - Codes d’arrêt - Services
Les tests de services, case activée pour l’utilisation correcte des services Windows. Par exemple, les services sont démarrés et arrêtés correctement. Pour plus d’informations sur les services Windows, consultez Services.
Les codes stop suivants sont contenus dans cet ensemble de tests.
Utilisation d’une API non Unicode (par exemple, RegisterServiceCtrlHandlerA au lieu de RegisterServiceCtrlHandlerW)
Cause probableTrès probablement, l’application n’a pas été compilée avec la macro UNICODE définie et les interfaces non Unicode sont donc utilisées.
Informations affichées par Application Verifier- Format: - Nom de l’API %ws
- Paramètre 1 - Non utilisé.
- Paramètre 2 - Non utilisé.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : USING_NON_UNICODE_API
- Arrêter le code : 4000000
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
L’API StartServiceCtrlDispatcher est appelée une deuxième fois
Cause probableCette API est destinée à être appelée une seule fois au début de la fonction wmain de service.
Informations affichées par Application Verifier- Format: - Nom de l’API %ws
- Paramètre 1 - SERVICE_TABLE_ENTRY paramètre.
- Paramètre 2 - Non utilisé.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : CTRL_DISPATCHER_CALLED_TWICE
- Arrêter le code : 4000001
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
Le handle de SERVICE_STATUS non valide est passé à SetServiceStatus
Cause probableLe handle SERVICE_STATUS non valide est passé à SetServiceStatus.
Informations affichées par Application Verifier- Format: - Nom de l’API %ws
- Paramètre 1 - SERVICE_STATUS_HANDLE valeur.
- Paramètre 2 - Non utilisé.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : INVALID_SERVICE_STATUS_HANDLE
- Arrêter le code : 4000002
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
SetServiceStatus est appelé à partir de deux threads
Cause probableCette API est destinée à être appelée en série.
Informations affichées par Application Verifier- Format: - Le nom de l’API %ws est appelé simultanément à partir du service %ws
- Paramètre 1 - LPSERVICE_STATUS valeur passée.
- Paramètre 2 - Non utilisé.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : SET_SERVICE_STATUS_RACE
- Arrêter le code : 4000003
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
Les contrôles STOP/SHUTDOWN sont acceptés lorsque le service est dans START_PENDING état
Cause probableLa plupart des services ne peuvent pas accepter les contrôles d’arrêt/arrêt pendant l’initialisation
Informations affichées par Application Verifier- Format: - Nom du service : %ws dwControlsAccepted : %08X
- Paramètre 1 - LPSERVICE_STATUS valeur passée.
- Paramètre 2 - Non utilisé.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : STOP_SHUTDOWN_ACCEPTED
- Arrêter le code : 4000004
- Gravité: Avertissement
- Erreur ponctuelle : non
- Rapport d’erreurs : Aucun
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
SERVICE tente une transition d’état non valide
Cause probableLe service a tenté d’effectuer une transition d’état non valide ou de définir des paramètres status identiques
Informations affichées par Application Verifier- Format: - Service %ws a été trouvé tentant une transition d’état non valide
- Paramètre 1 - LPSERVICE_STATUS État actuel.
- Paramètre 2 - LPSERVICE_STATUS nouvel état.
- Paramètre 3 - Last SetServiceStatus stack trace.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : INVALID_STATE_TRANSITION
- Arrêter le code : 4000005
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
SERVICE tente de définir des paramètres status identiques
Cause probableLe service a tenté de définir des paramètres status identiques
Informations affichées par Application Verifier- Format: - Le service %ws a tenté de définir des paramètres de status identiques
- Paramètre 1 - LPSERVICE_STATUS État actuel.
- Paramètre 2 - LPSERVICE_STATUS nouvel état.
- Paramètre 3 - Last SetServiceStatus stack trace.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : DUPLICATE_STATE_PARAMS
- Arrêter le code : 4000006
- Gravité: Avertissement
- Erreur ponctuelle : non
- Rapport d’erreurs : Aucun
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
SERVICE laisse les threads en attente après avoir entré l’état ARRÊTÉ
Cause probableLe service laisse les threads en attente après avoir déclaré l’état STOP
Informations affichées par Application Verifier- Format: - Le service %ws fuit des threads
- Paramètre 1 - ID de thread du thread qui a été divulgué.
- Paramètre 2 - Étiquette de service.
- Paramètre 3 - Non utilisé.
- Paramètre 4 - Non utilisé.
- Couche de test : Service
- ID d’arrêt : LEAKED_THREAD
- Arrêter le code : 4000007
- Gravité: Erreur
- Erreur ponctuelle : non
- Rapport d’erreurs : Pause
- Journaliser dans le fichier : Oui
- Créer un backtrace : Oui
Voir aussi
Vérificateur d’application - Codes et définitions d’arrêt
Vérificateur d’application - Vue d’ensemble
Vérificateur d’application - Fonctionnalités
Vérificateur d’applications - Test des applications
Vérificateur d’application - Tests dans Application Verifier
Vérificateur d’application - Débogage des arrêts du vérificateur d’application