Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando você não está depurando, o PLM ( Gerenciamento de Tempo de Vida do Processo do Windows) controla o estado de execução do seu aplicativo— iniciando, suspendendo, retomando e encerrando o aplicativo em resposta às ações do usuário e ao estado do dispositivo. Quando você está depurando, o Windows desativa esses eventos de ativação. Este tópico descreve como acionar esses eventos no depurador.
Este tópico também descreve como depurar tarefas em segundo plano. As tarefas em segundo plano permitem que você execute determinadas operações em um processo em segundo plano, mesmo quando seu aplicativo não estiver em execução. Você pode usar o depurador para colocar seu aplicativo no modo de depuração e, em seguida, sem iniciar a interface do usuário, iniciar e depurar a tarefa em segundo plano.
Para obter mais informações sobre o Gerenciamento de Tempo de Vida do Processo e tarefas em segundo plano, consulte Inicialização, retomada e multitarefa.
Disparar eventos de Gerenciamento de Ciclo de Vida do Processo
O Windows pode suspender seu aplicativo quando o usuário alterna para longe dele ou quando o Windows entra em um estado de baixa potência. Você pode responder ao Suspending
evento para salvar dados relevantes do aplicativo e do usuário no armazenamento persistente e liberar recursos. Quando um aplicativo é retomado do estado Suspenso , ele entra no estado em execução e continua de onde estava quando foi suspenso. Você pode responder ao evento para restaurar ou atualizar o Resuming
estado do aplicativo e recuperar recursos.
Embora o Windows tente manter o maior número possível de aplicativos suspensos na memória, o Windows poderá encerrar seu aplicativo se não houver recursos suficientes para mantê-lo na memória. Um usuário também pode fechar explicitamente seu aplicativo. Não há nenhum evento especial que indique que o usuário fechou um aplicativo.
No depurador do Visual Studio, você pode suspender, retomar e encerrar manualmente seus aplicativos para depurar eventos de ciclo de vida do processo. Para depurar um evento do ciclo de vida de um processo:
Defina um ponto de interrupção no manipulador do evento que você deseja depurar.
Pressione F5 para iniciar a depuração.
Na barra de ferramentas Local de Depuração, escolha o evento que você deseja disparar:
Suspender e encerrar fecha o aplicativo e encerra a sessão de depuração.
Iniciar tarefas em segundo plano
Qualquer aplicativo pode registrar uma tarefa em segundo plano para responder a determinados eventos do sistema, mesmo quando o aplicativo não estiver em execução. Tarefas em background não podem executar código que atualize diretamente a interface do usuário; em vez disso, mostram informações ao usuário com atualizações de blocos, atualizações de emblemas e notificações do sistema. Para obter mais informações, consulte Suporte ao aplicativo com tarefas em segundo plano.
Você pode disparar eventos a partir do depurador que iniciam tarefas em segundo plano para o seu aplicativo.
Observação
O depurador pode disparar apenas os eventos que não contêm dados, como eventos que indicam uma alteração de estado no dispositivo. Você precisa disparar manualmente tarefas em segundo plano que exigem entrada do usuário ou outros dados.
A maneira mais realista de disparar um evento de tarefa em segundo plano é quando seu aplicativo não está em execução. No entanto, também há suporte para disparar o evento em uma sessão de depuração padrão.
Disparar um evento de tarefa em segundo plano de uma sessão de depuração padrão
Defina um ponto de interrupção no código da tarefa em segundo plano que você deseja depurar.
Pressione F5 para iniciar a depuração.
Na lista de eventos na barra de ferramentas Local de Depuração, escolha a tarefa em segundo plano que você deseja iniciar.
Disparar uma tarefa em segundo plano quando o aplicativo não estiver em execução
Defina um ponto de interrupção no código da tarefa em segundo plano que você deseja depurar.
Abra a página de propriedades de depuração para o projeto de inicialização. No Gerenciador de Soluções, selecione o projeto . No menu Depurar , escolha Propriedades.
Para projetos C++, expanda Propriedades de Configuração e escolha Depuração.
Siga um destes procedimentos:
Para projetos do Visual C# e do Visual Basic, escolha Não iniciar, mas depurar o código ao iniciar
Para projetos do C++, escolha Não na lista iniciar aplicativos .
Pressione F5 para colocar o aplicativo no modo de depuração. Observe que a lista Processo na barra de ferramentas Local de Depuração exibe o nome do pacote do aplicativo para indicar que você está no modo de depuração.
Na lista de eventos na barra de ferramentas Local de Depuração, escolha a tarefa em segundo plano que você deseja iniciar.
Acionar eventos de Gerenciamento do Ciclo de Vida do Processo e tarefas em segundo plano de um aplicativo instalado
Use a caixa de diálogo Depurar Pacote de Aplicativo Instalado para carregar um aplicativo que já está instalado no depurador. Por exemplo, você pode depurar um aplicativo que foi instalado da Microsoft Store ou depurar um aplicativo quando tiver os arquivos de origem do aplicativo, mas não um projeto do Visual Studio para o aplicativo. A caixa de diálogo Depurar Pacote de Aplicativo Instalado permite que você inicie um aplicativo no modo de depuração no computador do Visual Studio ou em um dispositivo remoto ou defina o aplicativo para ser executado no modo de depuração, mas não iniciá-lo. Para obter mais informações, consulte Depurar um pacote de aplicativo instalado.
Depois que o aplicativo for carregado no depurador, você poderá usar qualquer um dos procedimentos descritos acima.
Diagnosticando erros de ativação de tarefa em segundo plano
Os logs de diagnóstico no Visualizador de Eventos do Windows para a infraestrutura em segundo plano contêm informações detalhadas que você pode usar para diagnosticar e solucionar problemas de erros de tarefa em segundo plano. Para exibir o log:
Abra o aplicativo Visualizador de Eventos.
No painel Ações, escolha Exibir e verifique se Mostrar logs Analíticos e de Depuração está marcado.
Na árvore Visualizador de Eventos (Local), expanda os nós Logs de Aplicativos e Serviços>Microsoft>Windows>BackgroundTasksInfrastructure.
Escolha o log de diagnóstico .