Como disparar eventos de suspensão, retomada e no plano de fundo em aplicativos da Windows Store

Quando você não está depurando, o Gerenciamento do Tempo de Vida do Processo (PLM) do Windows controla o estado da execução do seu aplicativo, iniciando, suspendendo, retomando e terminando o aplicativo em resposta às ações do usuário e ao estado do dispositivo. Quando você está depurando, o Windows desabilita 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. Essas tarefas permitem que você execute certas operações em um processo em segundo plano, mesmo quando o aplicativo não está sendo executado. Você pode usar o depurador para colocar o aplicativo no modo de depuração e depois, sem iniciar a interface de usuário, iniciar e depurar a tarefa em segundo plano.

Para obter mais informações sobre o Gerenciamento do Tempo de Vida do Processo e as tarefas em segundo plano, consulte Launching, resuming, and multitasking.

Neste tópico

Trigger Process Lifecycle Management events

Trigger background tasks

  • Trigger a background task event from a standard debug session

  • Trigger a background task when the app is not running

Trigger Process Lifetime Management events and background tasks from an installed app

Diagnosing background task activation errors

Disparar eventos do Gerenciamento do Tempo de Vida do Processo

O Windows pode suspender o aplicativo quando o usuário sai dele ou quando o Windows entra em um estado de baixo consumo de energia. Você pode responder ao evento Suspending para salvar dados relevantes do aplicativo e do usuário em um armazenamento persistente e para 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 Resuming para restaurar ou atualizar o estado do aplicativo e recuperar recursos.

Embora o Windows tente manter o máximo possível de aplicativos suspensos na memória, ele poderá terminar o aplicativo se não houver recursos suficientes para mantê-lo na memória. Um usuário também pode fechar o aplicativo explicitamente. Não há nenhum evento especial para indicar que o usuário fechou um aplicativo.

No depurador do Visual Studio, você pode manualmente suspender, retomar e terminar seus aplicativos para depurar eventos do ciclo de vida do processo. Para depurar um evento do ciclo de vida do processo:

  1. Defina um ponto de interrupção no manipulador do evento que você deseja depurar.

  2. Pressione F5 para iniciar a depuração.

  3. Na barra de ferramentas Local do Depurador, escolha o evento que você deseja acionar:

    Suspender, continuar, terminar e tarefas em segundo plano

    Observe que Suspender e desligar fecha o aplicativo e encerra a sessão de depuração.

Disparar 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 está sendo executado. As tarefas em segundo plano não podem executar o código que atualiza diretamente a interface do usuário; em vez disso, elas mostram informações para o usuário com atualizações de bloco, atualizações de notificação e notificações do sistema. Para obter mais informações, consulte Supporting your app with background tasks.

Você pode disparar os eventos que iniciam as tarefas em segundo plano do aplicativo por meio do depurador.

Dica

O depurador só pode disparar os eventos que não contêm dados, como os que indicam uma alteração de estado no dispositivo. Você precisa disparar manualmente as tarefas em segundo plano que exigem a entrada do usuário ou outros dados.

A maneira mais realística de disparar um evento de tarefa em segundo plano é quando o aplicativo não está sendo executado. No entanto, também é possível disparar o evento em uma sessão de depuração padrão.

Hh974425.collapse_all(pt-br,VS.110).gifDisparar um evento de tarefa em segundo plano por meio de uma sessão de depuração padrão

  1. Defina um ponto de interrupção no código de tarefa em segundo plano que você deseja depurar.

  2. Pressione F5 para iniciar a depuração.

  3. Na lista de eventos na barra de ferramentas Local do Depurador, escolha a tarefa em segundo plano que você deseja iniciar.

    Suspender, continuar, terminar e tarefas em segundo plano

Hh974425.collapse_all(pt-br,VS.110).gifDisparar uma tarefa em segundo plano quando o aplicativo não está sendo executado

  1. Defina um ponto de interrupção no código de tarefa em segundo plano que você deseja depurar.

  2. Abra a página de propriedades de depuração do projeto de inicialização. No Gerenciador de Soluções, selecione o projeto. No menu Depurar, escolha Propriedades.

    Para projetos em C++, poderá ser necessário expandir Propriedades de Configuração e então escolher Depuração.

  3. Siga um destes procedimentos:

    • Para projetos em Visual C# e Visual Basic, escolha Não iniciar, mas depurar meu código quando ele começar.

      Propriedade de inicialização de depuração C #/VB aplicativo

    • Para projetos em JavaScript e Visual C++, escolha Não na lista Iniciar aplicativo.

      C + + / VB iniciar propriedade de depuração do aplicativo

  4. Pressione F5 para colocar o aplicativo no modo de depuração. Observe que a lista Processo na barra de ferramentas Local do Depurador exibe o nome do pacote do aplicativo para indicar que você está no modo de depuração.

    Lista de tarefas do processo de plano de fundo

  5. Na lista de eventos na barra de ferramentas Local do Depurador, escolha a tarefa em segundo plano que você deseja iniciar.

    Suspender, continuar, terminar e tarefas em segundo plano

Disparar eventos e tarefas em segundo plano do Gerenciamento de Vida Útil de Processos de um aplicativo instalado

Use a caixa de diálogo Depurar Aplicativo Instalado para carregar um aplicativo que já está instalado no depurador. Por exemplo, você pode depurar um aplicativo instalado da Windows Store ou depurar um aplicativo quando tiver seus arquivos de origem, mas não um projeto do Visual Studio para o aplicativo. A caixa de diálogo Depurar Aplicativo Instalado permite que você inicie um aplicativo no modo de depuração no computador do Visual Studio ou em um dispositivo remoto, ou que você defina que o aplicativo seja executado no modo de depuração, mas não seja iniciado. Consulte a seção Iniciar um aplicativo instalado no depurador da versão para JavaScript ou Visual C++, Visual C# e Visual Basic de Como iniciar uma sessão de depuração para obter mais informações.

Após o aplicativo ser carregado no depurador, você poderá executar qualquer um dos procedimentos acima.

Diagnosticando erros de ativação de tarefas em segundo plano

Os logs de diagnóstico no Visualizador de Eventos do Windows referentes à infraestrutura em segundo plano contêm informações detalhadas que podem ser usadas para diagnosticar e solucionar erros de tarefas em segundo plano. Para exibir o log:

  1. Abra o aplicativo Visualizador de Eventos.

  2. No painel Ações, escolha Exibir e verifique se a opção Mostrar Logs Analíticos e de Depuração está marcada.

  3. Na árvore Visualizador de Eventos (Local), expanda os nós Microsoft, Windows e BackgroundTasksInfrastructure.

  4. Escolha o log Diagnóstico.

Consulte também

Conceitos

Depurando aplicativos da Windows Store

Outros recursos

Depurando e testando aplicativos da Windows Store

Application lifecycle

Launching, resuming, and multitasking