So können Sie Ereignisse in Windows Sore-Apps auslösen, anhalten, fortsetzen und im Hintergrund ausführen
Wenn Sie nicht debuggen, steuert die Windows-PLM (Process Lifecycle Management, Prozesslebenszyklusverwaltung) den Ausführungszustand ihrer App, d. h. das Starten, Anhalten, Fortsetzen und Beenden der App als Reaktion auf Benutzeraktionen und den Gerätezustand. Wenn Sie debuggen, deaktiviert Windows diese Aktivierungsereignisse. In diesem Thema wird beschrieben, wie solche Ereignisse im Debugger ausgelöst werden.
Außerdem wird in diesem Thema das Debuggen von Hintergrundaufgaben beschrieben. Hintergrundaufgaben ermöglichen das Ausführen bestimmte Vorgänge in einem Hintergrundprozess, selbst wenn Ihre App nicht ausgeführt wird. Sie können den Debugger verwenden, um die App in den Debugmodus zu versetzen und die Hintergrundaufgabe anschließend zu debuggen, ohne die Benutzeroberfläche zu starten.
Weitere Informationen zu Prozesslebenszyklusverwaltung und Hintergrundaufgaben finden Sie unter Launching, resuming, and multitasking.
In diesem Thema
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
Auslösen von Ereignissen der Prozesslebenszyklusverwaltung
Windows kann die App anhalten, wenn der Benutzer zu einem anderen Element wechselt oder Windows ein einen Zustand mit geringem Energieverbrauch wechselt. Sie können auf das Suspending-Ereignis reagieren, um relevante App- und Benutzerdaten im permanenten Speicher zu speichern und Ressourcen freizugeben. Wenn eine Anwendung nach dem Zustand Angehalten fortgesetzt wird, wechselt sie in den Zustand Aktiv und wird an der Position fortgesetzt, an der sie angehalten wurde. Sie können auf das Resuming-Ereignis reagieren, um den Anwendungszustand zu aktualisieren oder wiederherzustellen und Ressourcen zurückzufordern.
Obwohl Windows versucht, so viele angehaltene Apps wie möglich im Arbeitsspeicher zu behalten, kann die App beendet werden, wenn die Ressourcen nicht ausreichen, um sie im Arbeitsspeicher zu behalten. Außerdem Ihre App auch durch einen Benutzer explizit geschlossen werden. Es gibt kein gesondertes Ereignis, um anzugeben, dass die App durch den Benutzer geschlossen wurde.
Im Visual Studio-Debugger können Sie Ihre Apps manuell anhalten, fortsetzen und beenden, um Prozesslebenszyklusereignisse zu debuggen. So debuggen Sie ein Prozesslebenszyklusereignis:
Legen Sie einen Haltepunkt im Handler des Ereignisses fest, das Sie debuggen möchten.
Drücken Sie die Taste F5, um mit dem Debuggen zu beginnen.
Wählen Sie auf der Symbolleiste Debugspeicherort das Ereignis aus, das Sie auslösen möchten:
Beachten Sie, dass Anhalten und beenden die App schließt und die Debugsitzung beendet.
Auslösen von Hintergrundaufgaben
Jede App kann eine Hintergrundaufgabe registrieren, um auf bestimmte Systemereignisse zu reagieren, selbst wenn die App nicht ausgeführt wird. Hintergrundaufgaben können keinen Code ausführen, der die Benutzeroberfläche direkt aktualisiert. Stattdessen zeigen sie dem Benutzer Informationen mithilfe von mit Kachelupdates, Infoanzeigerupdates und Toastbenachrichtigungen an. Weitere Informationen finden Sie unter Supporting your app with background tasks.
Sie können die Ereignisse, die Hintergrundaufgaben für die App starten, über den Debugger auslösen.
Hinweis
Der Debugger kann nur Ereignisse auslösen, die keine Daten enthalten, z. B. Ereignisse, die eine Zustandsänderung im Gerät angeben. Sie müssen Hintergrundaufgaben, die Benutzereingaben oder andere Daten benötigen, manuell auslösen.
Bei der realistischsten Methode, um ein Hintergrundaufgabenereignis auszulösen, sollte Ihre App nicht ausgeführt werden. Das Auslösen des Ereignisses in einer Standarddebugsitzung wird jedoch ebenfalls unterstützt.
Auslösen eines Hintergrundaufgabenereignisses aus einer Standarddebugsitzung
Legen Sie einen Haltepunkt im Code der Hintergrundaufgabe fest, den Sie debuggen möchten.
Drücken Sie die Taste F5, um mit dem Debuggen zu beginnen.
Wählen Sie die Hintergrundaufgabe, die Sie starten möchten, aus der Ereignisliste auf der Symbolleiste Debugspeicherort aus.
Auslösen einer Hintergrundaufgabe, wenn die App nicht ausgeführt wird
Legen Sie einen Haltepunkt im Code der Hintergrundaufgabe fest, den Sie debuggen möchten.
Öffnen Sie die Debugeigenschaftenseite für das Startprojekt. Wählen Sie im Projektmappen-Explorer das Projekt aus. Klicken Sie im Menü Debuggen auf Eigenschaften.
Für C++-Projekte müssen Sie möglicherweise Konfigurationseigenschaften erweitern und anschließend Debugging auswählen.
Führen Sie eine der folgenden Aktionen aus:
Wählen Sie für Visual C#- und Visual Basic-Projekte Eigenen Code zunächst nicht starten sondern debuggen aus.
Wählen Sie für JavaScript- und Visual C++-Projekte Nein aus der Liste Anwendung starten aus.
Drücken Sie F5, um die App in den Debugmodus zu versetzen. Beachten Sie, dass die Liste Prozess auf der Symbolleiste Debugspeicherort den Namen des Apppakets anzeigt, um zu signalisieren, dass der Debugmodus aktiv ist.
Wählen Sie die Hintergrundaufgabe, die Sie starten möchten, aus der Ereignisliste auf der Symbolleiste Debugspeicherort aus.
Ereignisse zur Verwaltung der Prozesslebensdauer sowie Hintergrundaufgaben der installierten App auslösen bzw. aktivieren.
Um eine App zu starten, die bereits im Debugger installiert ist, verwenden Sie das Dialogfeld "Installiertes App-Paket debuggen". Sie können beispielsweise eine App debuggen, die aus dem Windows Store installiert wurde, oder eine App, deren Quelldateien Sie zwar besitzen, für die Sie jedoch nicht über ein Visual Studio-Projekt verfügen. Über das Dialogfeld "Installiertes App-Paket debuggen" können Sie eine App auf einem Visual Studio- oder einem Remotegerät im Debugmodus starten, oder für die App den Dubugmodus festlegen, ohne sie zu starten. Weitere Informationen finden Sie im Abschnitt Start an installed app in the debugger der Anleitung How to start a debugging session für JavaScript oder Visual C++, Visual C# und Visual Basic.
Sobald die App in den Debugger geladen ist, können Sie die oben beschriebenen Prozeduren anwenden.
Diagnostizieren von Hintergrundaufgaben-Aktivierungsfehlern
Die Diagnoseprotokolle in der Windows-Ereignisanzeige für die Hintergrundinfrastruktur enthalten ausführliche Informationen, die Sie zur Diagnose und Behebung von Hintergrundaufgabenfehlern verwenden können. So zeigen Sie das Protokoll an:
Öffnen Sie die Anwendung "Ereignisanzeige".
Wählen Sie im Bereich Aktionen Ansicht aus, und stellen Sie sicher, dass Analytische und Debugprotokolle einblenden aktiviert ist.
Erweitern Sie in der Struktur Ereignisanzeige (Lokal) den Microsoft-, den Windows- und dann den BackgroundTasksInfrastructure-Knoten.
Wählen Sie das Diagnose-Protokoll aus.
Siehe auch
Konzepte
Debuggen von Windows Store-Apps