Verificador de Aplicativos – Parar Códigos – Serviços
Os serviços testam, marcar para o uso adequado dos Serviços Windows. Por exemplo, os serviços estão sendo iniciados e interrompidos corretamente. Para obter mais informações sobre os Serviços windows, consulte Serviços.
Os códigos de parada a seguir estão contidos neste conjunto de testes.
Usando uma API não Unicode (por exemplo, RegisterServiceCtrlHandlerA em vez de RegisterServiceCtrlHandlerW)
Causa provávelProvavelmente, o aplicativo não foi compilado com a macro UNICODE definida e, portanto, interfaces não Unicode são usadas.
Informações exibidas pelo Verificador de Aplicativos- Formato: – Nome da API %ws
- Parâmetro 1 - Não usado.
- Parâmetro 2 - Não usado.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: USING_NON_UNICODE_API
- Código de parada: 4000000
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
A API StartServiceCtrlDispatcher está sendo chamada uma segunda vez
Causa provávelEssa API deve ser chamada apenas uma vez no início da função wmain do serviço.
Informações exibidas pelo Verificador de Aplicativos- Formato: – Nome da API %ws
- Parâmetro 1 - SERVICE_TABLE_ENTRY parâmetro.
- Parâmetro 2 - Não usado.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: CTRL_DISPATCHER_CALLED_TWICE
- Código de parada: 4000001
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
Identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus
Causa provávelO identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus.
Informações exibidas pelo Verificador de Aplicativos- Formato: – Nome da API %ws
- Parâmetro 1 - SERVICE_STATUS_HANDLE valor.
- Parâmetro 2 - Não usado.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: INVALID_SERVICE_STATUS_HANDLE
- Código de parada: 4000002
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
SetServiceStatus está sendo chamado de dois threads
Causa provávelEssa API deve ser chamada em série.
Informações exibidas pelo Verificador de Aplicativos- Formato: – O nome da API %ws está sendo chamado simultaneamente do serviço %ws
- Parâmetro 1 - LPSERVICE_STATUS valor passado.
- Parâmetro 2 - Não usado.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: SET_SERVICE_STATUS_RACE
- Código de parada: 4000003
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
Os controles STOP/SHUTDOWN estão sendo aceitos enquanto o serviço está em START_PENDING estado
Causa provávelA maioria dos serviços não pode aceitar controles de parada/desligamento durante a inicialização
Informações exibidas pelo Verificador de Aplicativos- Formato: - Nome do serviço: %ws dwControlsAccepted: %08X
- Parâmetro 1 - LPSERVICE_STATUS valor passado.
- Parâmetro 2 - Não usado.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: STOP_SHUTDOWN_ACCEPTED
- Código de parada: 4000004
- Gravidade: Aviso
- Erro único: Não
- Relatório de erros: Nenhum
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
SERVICE está tentando uma transição de estado inválida
Causa provávelO serviço tentou fazer uma transição de estado inválida ou definir parâmetros de status idênticos
Informações exibidas pelo Verificador de Aplicativos- Formato: - O serviço %ws foi encontrado tentando uma transição de estado inválida
- Parâmetro 1 - LPSERVICE_STATUS Estado Atual.
- Parâmetro 2 - LPSERVICE_STATUS Novo Estado.
- Parâmetro 3 - Último rastreamento de pilha SetServiceStatus.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: INVALID_STATE_TRANSITION
- Código de parada: 4000005
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
SERVICE está tentando definir parâmetros de status idênticos
Causa provávelO serviço tentou definir parâmetros de status idênticos
Informações exibidas pelo Verificador de Aplicativos- Formato: - O serviço %ws tentou definir parâmetros de status idênticos
- Parâmetro 1 - LPSERVICE_STATUS Estado Atual.
- Parâmetro 2 - LPSERVICE_STATUS Novo Estado.
- Parâmetro 3 - Último rastreamento de pilha SetServiceStatus.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: DUPLICATE_STATE_PARAMS
- Código de parada: 4000006
- Gravidade: Aviso
- Erro único: Não
- Relatório de erros: Nenhum
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
SERVICE está deixando threads pendentes depois de entrar no estado STOPPED
Causa provávelO serviço está deixando threads pendentes após declarar o estado PARADO
Informações exibidas pelo Verificador de Aplicativos- Formato: - O serviço %ws está vazando threads
- Parâmetro 1 - ID do thread vazado.
- Parâmetro 2 - Marca de serviço.
- Parâmetro 3 - Não usado.
- Parâmetro 4 - Não usado.
- Camada de teste: Serviço
- ID de parada: LEAKED_THREAD
- Código de parada: 4000007
- Gravidade: Erro
- Erro único: Não
- Relatório de erros: Quebrar
- Fazer logon no arquivo: Sim
- Criar backtrace: Sim
Consulte Também
Verificador de Aplicativos – Parar códigos e definições
Verificador de Aplicativos – Visão geral
Verificador de Aplicativos – Recursos
Verificador de Aplicativos – Testando aplicativos
Verificador de Aplicativos – Testes no Verificador de Aplicativos
Verificador de Aplicativos – Depuração de Paradas do Verificador de Aplicativo