Comment déclencher suspendre, reprendre et événements en arrière-plan pendant le débogage des applications UWP dans Visual StudioHow to trigger suspend, resume, and background events while debugging UWP apps in Visual Studio

Lorsque vous n'effectuez pas de débogage, Windows Process Lifetime Management (PLM) contrôle l'état d'exécution de votre application, soit son démarrage, sa suspension, sa reprise et sa fin en réponse aux actions utilisateur et à l'état du périphérique.When you are not debugging, Windows Process Lifetime Management (PLM) controls the execution state of your app—starting, suspending, resuming, and terminating the app in response to user actions and the state of the device. Lorsque vous effectuez un débogage, Windows désactive ces événements d'activation.When you are debugging, Windows disables these activation events. Cette rubrique décrit comment déclencher ces événements dans le débogueur.This topic describes how to fire these events in the debugger.

Cette rubrique décrit également comment déboguer les tâches en arrière-plan.This topic also describes how to debug Background tasks. Les tâches en arrière-plan vous permettent d'effectuer certaines opérations dans un processus en arrière-plan, même lorsque votre application n'est pas en cours d'exécution.Background tasks enable you to perform certain operations in a background process, even when you app is not running. Utilisez le débogueur pour placer votre application en mode débogage, puis, sans démarrer l'interface utilisateur, démarrez et déboguez la tâche en arrière-plan.You can use the debugger to put your app in debug mode and then— without starting the UI—start and debug the background task.

Pour plus d’informations sur les tâches de gestion de durée de vie des processus et d’arrière-plan, consultez Launching, resuming et multitâche.For more information about Process Lifetime Management and background tasks see Launching, resuming, and multitasking.

Déclencher les événements PLM (Process Lifetime Management)Trigger Process Lifetime Management events

Windows peut suspendre votre application lorsque l'utilisateur la quitte ou lorsque Windows entre dans un état de faible consommation d'énergie.Windows can suspend your app when the user switches away from it or when Windows enters a low power state. Répondez à l'événement Suspending pour enregistrer des données appropriées relatives à l'application et aux utilisateurs dans un espace de stockage permanent et pour libérer les ressources.You can respond to the Suspending event to save relevant app and user data to persistent storage and to release resources. Lorsqu'une application quitte l'état Suspendu , elle entre dans l'état Exécution et reprend là où elle a été suspendue.When an app is resumed from the Suspended state, it enters the Running state and continues from where it was when it was suspended. Vous pouvez répondre à l'événement Resuming pour restaurer ou actualiser l'état de l'application et pour libérer les ressources.You can respond to the Resuming event to restore or refresh application state and reclaim resources.

Même si Windows essaie de conserver en mémoire autant d'applications suspendues que possible, Windows peut arrêter votre application si les ressources sont insuffisantes pour les conserver en mémoire.Although Windows attempts to keep as many suspended apps in memory as possible, Windows can terminate your app if there aren't enough resources to keep it in memory. Un utilisateur peut également explicitement fermer votre application.A user can also explicitly close your app. Il n'existe aucun événement spécial qui indique que l'utilisateur a fermé une application.There's no special event to indicate that the user has closed an app.

Dans le débogueur Visual Studio, vous pouvez suspendre, reprendre et arrêter manuellement vos applications pour déboguer des événements du processus de cycle de vie.In the Visual Studio debugger, you can manually suspend, resume, and terminate your apps to debug process lifecycle events. Pour déboguer un événement de processus du cycle de vie :To debug a process lifecycle event:

  1. Définissez un point d'arrêt dans le gestionnaire de l'événement que vous souhaitez déboguer.Set a breakpooint in the handler of the event that you want to debug.

  2. Appuyez sur F5 pour démarrer le débogage.Press F5 to start debugging.

  3. Dans la barre d'outils Emplacement de débogage , choisissez l'événement à déclencher :On the Debug Location toolbar, choose the event that you want to fire:

    Suspendre, reprendre, terminer et tâches en arrière-planSuspend, resume, terminate, and background tasks

    Notez que Interrompre et quitter ferme l'application et termine la session de débogage.Note that Suspend and terminate closes the app and ends the debug session.

Déclencher les tâches en arrière-planTrigger background tasks

Une application peut enregistrer une tâche en arrière-plan pour répondre à certains événements système, même si l'application n'est pas en cours d'exécution.Any app can register a background task to respond to certain system events, even when the app is not running. Les tâches en arrière-plan ne peuvent pas exécuter le code qui met à jour directement l'interface utilisateur; En fait, elles affichent des informations à l'utilisateur avec des mises à jour de mosaïque, des mises à jour de badge et des notifications contextuelles.Background tasks can't run code that directly updates the UI; instead, they show information to the user with tile updates, badge updates, and toast notifications. Pour plus d’informations, consultez prenant en charge de votre application avec des tâches en arrière-planFor more information, see Supporting your app with background tasks

Déclenchez les événements qui démarrent les tâches en arrière-plan pour votre application à partir du débogueur.You can trigger the events that start background tasks for your app from the debugger.

Note

Le débogueur peut déclencher uniquement les événements qui ne contiennent pas de données, comme les événements qui indiquent un changement d'état sur le périphérique.The debugger can trigger only those events that do not contain data, such as events that indicate a change of state in the device. Vous devez déclencher manuellement les tâches en arrière-plan qui nécessitent la saisie utilisateur ou d'autres données.You have to manually trigger background tasks that require user input or other data.

La méthode la plus réaliste pour déclencher un événement de tâche en arrière-plan est le moment où votre application n'est pas en cours d'exécution.The most realistic way to trigger a background task event is when your app is not running. Toutefois, le déclenchement de l'événement dans une session de débogage standard est également pris en charge.However, triggering the event in a standard debugging session is also supported.

Déclencher un événement de tâche en arrière-plan à partir d'une session de débogage standardTrigger a background task event from a standard debug session

  1. Définissez un point d'arrêt dans le code d'une tâche en arrière-plan à déboguer.Set a breakpoint in the background task code that you want to debug.

  2. Appuyez sur F5 pour démarrer le débogage.Press F5 to start debugging.

  3. Dans la liste des événements dans la barre d'outils Emplacement de débogage , choisissez la tâche en arrière-plan à démarrer.From the events list on the Debug Location toolbar, choose the background task that you want to start.

    Suspendre, reprendre, terminer et tâches en arrière-planSuspend, resume, terminate, and background tasks

Déclencher une tâche en arrière-plan lorsque l'application n'est pas en cours d'exécutionTrigger a background task when the app is not running

  1. Définissez un point d'arrêt dans le code d'une tâche en arrière-plan à déboguer.Set a breakpoint in the background task code that you want to debug.

  2. Ouvrez la page des propriétés de débogage du projet de démarrage.Open the debug property page for the start-up project. Dans l'Explorateur de solutions, sélectionnez le projet.In Solution Explorer, select the project. Dans le menu Déboguer , choisissez Propriétés.On the Debug menu, choose Properties.

    Pour les projets C++ et JavaScript, développez propriétés de Configuration , puis débogage.For C++ and JavaScript projects, expand Configuration Properties and then choose Debugging.

  3. Effectuez l’une des opérations suivantes :Do one of the following:

    • Pour les projets Visual C# et Visual Basic, choisissez Ne pas lancer, mais déboguer mon code au démarrageFor Visual C# and Visual Basic projects, choose Do not launch, but debug my code when it starts

      C#/propriété d’application VB débogage lancementC#/VB debug launch application property

    • Pour les projets JavaScript et Visual C++, choisissez Non dans la liste Lancer l'application .For JavaScript and Visual C++ projects, choose No from the Launch application list.

      C++/propriété de débogage d’application VB lancerC++/VB Launch application debug property

  4. Appuyez sur F5 pour exécuter l'application en mode débogage.Press F5 to put the app in debug mode. Notez que la liste Processus dans la barre d'outils Emplacement de débogage affiche le nom du package d'application pour indiquer que vous êtes en mode débogage.Note the Process list on the Debug Location toolbar displays the app package name to indicate that you are in debug mode.

    Liste des processus d’arrière-plan tâchesBackground task Process list

  5. Dans la liste des événements dans la barre d'outils Emplacement de débogage , choisissez la tâche en arrière-plan à démarrer.From the events list on the Debug Location toolbar, choose the background task that you want to start.

    Suspendre, reprendre, terminer et tâches en arrière-planSuspend, resume, terminate, and background tasks

Déclencher les événements PLM (Process Lifecycle Management) et les tâches en arrière-plan depuis une application installéeTrigger Process Lifetime Management events and background tasks from an installed app

Utilisez le déboguer le Package d’application installé boîte de dialogue pour charger une application déjà installée dans le débogueur.Use the Debug Installed App Package dialog box to load an app that is already installed into the debugger. Par exemple, vous pourrez déboguer une application qui a été installée à partir de Microsoft Store ou déboguer une application une fois les fichiers sources pour l’application, mais pas un projet Visual Studio pour l’application.For example, you might debug an app that was installed from Microsoft Store, or debug an app when you have the source files for the app, but not a Visual Studio project for the app. Le déboguer le Package d’application installé boîte de dialogue vous permet de démarrer une application en mode débogage sur l’ordinateur Visual Studio ou sur un périphérique distant, ou pour configurer l’application pour s’exécuter en mode débogage mais la démarre pas.The Debug Installed App Package dialog box allows you start an app in debug mode on the Visual Studio machine or on a remote device, or to set the app to run in debug mode but not start it. Pour plus d’informations, consultez déboguer un package d’application installé.For more information, see Debug an installed app package.

Une fois l'application chargée dans le débogueur, vous pouvez utiliser l'une des procédures décrites ci-dessus.Once the app is loaded into the debugger, you can use any of the procedures described above.

Diagnostic des erreurs d'activation des tâches en arrière-planDiagnosing background task activation errors

Les journaux de diagnostic dans l’Observateur d’événements Windows pour l’infrastructure d’arrière-plan contient des informations détaillées que vous pouvez utiliser pour diagnostiquer et résoudre les erreurs de tâche en arrière-plan.The diagnostic logs in Windows Event Viewer for the background infrastructure contains detailed information that you can use to diagnose and troubleshoot background task errors. Pour consulter le journal :To view the log:

  1. Ouvrez l'application Observateur d'événements.Open the Event Viewer application.

  2. Dans le volet Actions , choisissez Afficher et assurez-vous que la case à cocher Afficher les journaux d’analyse et de débogage est activée.In the Actions pane, choose View and make sure Show Analytic and Debug Logs is checked.

  3. Sur le Observateur d’événements (Local) arborescence, développez les nœuds journaux des Applications et Services > Microsoft > Windows > BackgroundTasksInfrastructure.On the Event Viewer (Local) tree, expand the nodes Applications and Services Logs > Microsoft > Windows > BackgroundTasksInfrastructure.

  4. Choisissez le journal Diagnostic .Choose the Diagnostic log.

Voir aussiSee Also

Test d’applications UWP avec Visual Studio Testing UWP apps with Visual Studio
Debug apps in Visual Studio Debug apps in Visual Studio
Cycle de vie des applications Application lifecycle
Lancement de la reprise et multitâcheLaunching, resuming, and multitasking