Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie das Debuggen nicht ausführen, steuert die Windows Process Lifetime Management (PLM) den Ausführungszustand Ihrer App– starten, anhalten, fortsetzen und beenden die App als Reaktion auf Benutzeraktionen und den Zustand des Geräts. Beim Debuggen deaktiviert Windows diese Aktivierungsereignisse. In diesem Thema wird beschrieben, wie diese Ereignisse im Debugger ausgelöst werden.
In diesem Thema wird auch beschrieben, wie Hintergrundaufgaben gedebuggt werden. Mithilfe von Hintergrundaufgaben können Sie bestimmte Vorgänge in einem Hintergrundprozess ausführen, auch wenn Ihre App nicht ausgeführt wird. Sie können den Debugger verwenden, um Ihre App in den Debugmodus zu versetzen, und dann – ohne die Benutzeroberfläche zu starten – die Hintergrundaufgabe zu starten und zu debuggen.
Weitere Informationen zur Prozesslebensdauerverwaltung und Hintergrundaufgaben finden Sie unter Starten, Fortsetzen und Multitasking.
Auslösen von Ereignissen zur Verwaltung der Prozesslebensdauer
Windows kann Ihre App anhalten, wenn der Benutzer davon abweicht oder windows in einen Energiesparmodus wechselt. Sie können auf das Suspending Ereignis reagieren, um relevante App- und Benutzerdaten auf beständigen Speicher zu speichern und Ressourcen freizugeben. Wenn eine App aus dem Zustand " Angehalten " fortgesetzt wird, wechselt sie in den Zustand "Ausführung " und setzt fort, wo sie sich befand, als sie angehalten wurde. Sie können auf das Resuming Ereignis reagieren, um den Anwendungszustand wiederherzustellen oder zu aktualisieren und Ressourcen zurückzugeben.
Obwohl Windows versucht, so viele angehaltene Apps im Arbeitsspeicher wie möglich zu halten, kann Windows Ihre App beenden, wenn nicht genügend Ressourcen vorhanden sind, um sie im Arbeitsspeicher zu halten. Ein Benutzer kann Ihre App auch explizit schließen. Es gibt kein spezielles Ereignis, um anzugeben, dass der Benutzer eine App geschlossen hat.
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 F5 , um mit dem Debuggen zu beginnen.
Wählen Sie auf der Symbolleiste Debug-Standort das Ereignis aus, das Sie auslösen möchten:
Durch Anhalten und Beenden wird die App geschlossen und die Debugsitzung beendet.
Auslösen von Hintergrundaufgaben
Jede App kann eine Hintergrundaufgabe registrieren, um auf bestimmte Systemereignisse zu reagieren, auch 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 mit Kachelaktualisierungen, Signalaktualisierungen und Popupbenachrichtigungen an. Weitere Informationen finden Sie unter Unterstützen Ihrer App mit Hintergrundaufgaben.
Sie können die Ereignisse auslösen, die Hintergrundaufgaben für Ihre App über den Debugger starten.
Hinweis
Der Debugger kann nur die Ereignisse auslösen, die keine Daten enthalten, z. B. Ereignisse, die auf eine Änderung des Zustands im Gerät hinweisen. Sie müssen Hintergrundaufgaben manuell auslösen, für die Benutzereingaben oder andere Daten erforderlich sind.
Die realistischste Methode zum Auslösen eines Hintergrundaufgabenereignisses besteht darin, dass Ihre App nicht ausgeführt wird. Das Auslösen des Ereignisses in einer Standarddebuggingsitzung wird jedoch ebenfalls unterstützt.
Auslösen eines Hintergrundaufgabenereignisses aus einer Standarddebugsitzung
Legen Sie einen Haltepunkt im Hintergrundaufgabencode fest, den Sie debuggen möchten.
Drücken Sie F5 , um mit dem Debuggen zu beginnen.
Wählen Sie in der Ereignisliste auf der Symbolleiste "Debug Location" die Hintergrundaufgabe aus, die Sie starten möchten.
Auslösen einer Hintergrundaufgabe, wenn die App nicht ausgeführt wird
Legen Sie einen Haltepunkt im Hintergrundaufgabencode fest, den Sie debuggen möchten.
Öffnen Sie die Eigenschaftenseite für Debugging für das Startprojekt. Wählen Sie im Projektmappen-Explorer das Projekt aus. Wählen Sie im Menü "Debuggen" die Option "Eigenschaften" aus.
Erweitern Sie für C++-Projekte Konfigurationseigenschaften , und wählen Sie dann "Debuggen" aus.
Führen Sie eine der folgenden Aktionen aus:
Wählen Sie für Visual C#- und Visual Basic-Projekte "Nicht starten" aus, aber debuggen Sie meinen Code, wenn er gestartet wird.
Wählen Sie für C++-Projekte in der Liste "Anwendung starten" die Option "Nein" aus.
Drücken Sie F5 , um die App in den Debugmodus zu versetzen. Beachten Sie, dass die Prozessliste auf der Symbolleiste " Debugspeicherort " den Namen des App-Pakets anzeigt, um anzugeben, dass Sie sich im Debugmodus befinden.
Wählen Sie in der Ereignisliste auf der Symbolleiste "Debug Location" die Hintergrundaufgabe aus, die Sie starten möchten.
Auslösen von Prozesslebensdauer-Verwaltungsereignissen und Hintergrundaufgaben aus einer installierten App
Verwenden Sie das Dialogfeld " Installiertes App-Paket debuggen ", um eine App zu laden, die bereits im Debugger installiert ist. Sie können beispielsweise eine App debuggen, die aus dem Microsoft Store installiert wurde, oder eine App debuggen, wenn Sie über die Quelldateien für die App verfügen, jedoch kein Visual Studio-Projekt für die App. Im Dialogfeld " Installiertes App-Paket debuggen " können Sie eine App im Debugmodus auf dem Visual Studio-Computer oder auf einem Remotegerät starten oder die App so festlegen, dass sie im Debugmodus ausgeführt, aber nicht gestartet wird. Weitere Informationen finden Sie unter Debuggen eines installierten App-Pakets.
Sobald die App in den Debugger geladen wurde, können Sie eine der oben beschriebenen Verfahren verwenden.
Diagnose von Aktivierungsfehlern für Hintergrundaufgaben
Die Diagnoseprotokolle in der Windows-Ereignisanzeige für die Hintergrundinfrastruktur enthalten detaillierte Informationen, mit denen Sie Hintergrundaufgabenfehler diagnostizieren und beheben können. So können Sie das Protokoll einsehen:
Öffnen Sie die Ereignisanzeigeanwendung.
Wählen Sie im Bereich "Aktionen" die Option "Ansicht" aus, und vergewissern Sie sich, dass "Analyse- und Debugprotokolle anzeigen" aktiviert ist.
Erweitern Sie in der Ereignisanzeigestruktur (Local) die Knoten "Applications and Services Logs>Microsoft>Windows>BackgroundTasksInfrastructure".
Wählen Sie das Diagnoseprotokoll aus.