Starten einer Debugsitzung für eine UWP-App

Gilt für:yesVisual Studio noVisual Studio für Mac

In diesem Artikel wird beschrieben, wie eine Visual Studio-Debugsitzung für eine universelle Windows-Plattform-App (UWP) gestartet wird. UWP-Apps können in XAML und C++ , XAML und C#/Visual Basic geschrieben werden. Zum Starten des Debuggens einer UWP-App konfigurieren Sie die Debugsitzung und wählen die Methode für den App-Start aus.

Hinweis

Ab Visual Studio 2019 werden UWP-Apps für HTML und JavaScript nicht mehr unterstützt.

Starten des Debuggens über die Visual Studio-Symbolleiste

Die einfachste Möglichkeit zum Konfigurieren und Starten des Debuggens ist die Standardsymbolleiste von Visual Studio.

Debug from the toolbar

  1. Wählen Sie in der Dropdownliste Konfiguration in der Symbolleiste Standard die Option Debuggen aus.

  2. Wählen Sie in der Dropdownliste Plattform die Zielplattform aus, in der der Build erstellt werden soll.

  3. Wählen Sie in der Dropdownliste neben dem grünen Pfeil das Debugziel aus. Sie können einen lokalen Computer, ein direkt verbundenes Gerät, einen lokalen Visual Studio-Simulator, ein Remotegerät oder einen Emulator auswählen.

  4. Um das Debuggen zu starten, wählen Sie den grünen Pfeil Start in der Visual Studio-Symbolleiste aus, oder wählen Debuggen>Debuggen starten aus oder drücken F5.

    In Visual Studio wird die Anwendung mit dem angefügten Debugger erstellt und gestartet.

Das Debuggen wird fortgeführt, bis ein Haltepunkt erreicht wird, bis Sie es manuell anhalten, bis eine unbehandelte Ausnahme auftritt, oder bis die Anwendung beendet ist.

Optionen für das Bereitstellungsziel

Sie können das Debugziel in der Visual Studio-Symbolleiste oder auf der Seite mit den Debugeigenschaften des Projekts festlegen. Wählen Sie einen der folgenden Optionen aus:

name Beschreibung
Lokaler Computer Debuggen Sie die Anwendung in der aktuellen Sitzung auf dem lokalen Computer.
Simulator Debuggen Sie die Anwendung im Visual Studio-Simulator für UWP-Apps. Der Simulator ist ein Desktopfenster, das Gerätefunktionen simuliert, wie z. B. Touchgesten und Gerätedrehung, die auf dem lokalen Computer möglicherweise nicht vorhanden sind. Die Simulatoroption ist nur verfügbar, wenn die Mindestversion der Zielplattform Ihrer App kleiner oder gleich dem Betriebssystem auf dem lokalen Rechner ist. Weitere Informationen finden Sie unter Ausführen von UWP-Apps im Simulator.
Remotecomputer Debuggen Sie die App auf einem Gerät, das über ein Netzwerk- oder Ethernetkabel mit dem lokalen Computer verbunden ist. Die Remotetools für Visual Studio müssen installiert sein und auf dem Remotegerät ausgeführt werden. Weitere Informationen finden Sie unter Ausführen von UWP-Apps auf einem Remotecomputer.
Gerät Debuggen Sie die App auf einem USB-Gerät. Das Gerät muss vom Entwickler entsperrt sein und den Bildschirm entsperrt haben.
Mobile Emulator Starten Sie den im Emulatornamen angegebenen Emulator, stellen Sie die App bereit, und beginnen Sie mit dem Debuggen. Emulatoren sind nur auf Hyper-V-fähigen Computern verfügbar.

Konfigurieren des Debuggens auf der Eigenschaftenseite des Projekts

Um zusätzliche Debugoptionen zu konfigurieren, verwenden Sie die Seite mit den Debuggingeigenschaften des Projekts.

So öffnen Sie die Debuggingeigenschaften

  1. Wählen Sie im Projektmappen-Explorer das Projekt aus, und wählen Sie dann das Symbol Eigenschaften aus, oder klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus.

  2. Auf der linken Seite des Bereichs Eigenschaften:

    • Wählen Sie für C#- und Visual Basic-Apps Debuggen aus.

      C# and Visual Basic project debug property page

    • Wählen Sie für C++-Apps Konfigurationseigenschaften>Debuggen aus.

      C++ UWP app debugging property page

Auswahl des zu verwendenden Debuggers

Bei C#- und Visual Basic-Apps erfolgt standardmäßig das Debuggen von Code in Visual Studio. Sie können auch andere oder zusätzliche Codetypen debuggen. Sie können auch Debuggertyp-Werte für alle Hintergrundaufgaben festlegen, die Teil des Projekts sind.

In C++-Apps ist das Debuggen von nativem Code in Visual Studio eine Standardeinstellung. Sie können auswählen, dass bestimmte Codetypen anstelle von oder zusätzlich zu nativem Code debuggt werden.

So geben Sie die zu debuggenden Codetypen an

  • Wählen Sie für C#- und Visual Basic-Apps einen der folgenden Debugger auf der Eigenschaftsseite Debuggen unter Debuggertyp aus den Dropdownlisten Anwendungstyp und Hintergrundprozesstyp aus.

  • Wählen Sie für C++-Apps einen der folgenden Debugger auf der Eigenschaftsseite Debuggen aus der Dropdownliste Debuggertyp aus.

name Beschreibung
Nur verwaltet Für das Debuggen des verwalteten Codes der Anwendung. JavaScript- und systemeigener C/C++-Code werden ignoriert.
Nur systemeigen Für das Debuggen des systemeigenen C/C++-Codes der Anwendung. Verwalteter und JavaScript-Code werden ignoriert.
Gemischt (verwaltet und systemeigen) Für das Debuggen des systemeigenen C/C++- und des verwalteten Codes der Anwendung. JavaScript-Code wird ignoriert. In C++-Projekten wird diese Option Verwaltet und Nativ genannt.
Skript Für das Debuggen des JavaScript-Codes der Anwendung. Verwalteter und systemeigener Code werden ignoriert.
Nativ mit Skript Für das Debuggen des nativen C/C++-Codes und des JavaScript-Codes der Anwendung. Verwalteter Code wird ignoriert. Nur in C++-Projekten oder Hintergrundaufgaben verfügbar.
Nur GPU (C++ AMP) Debuggen von systemeigenem C++-Code, der auf einer Grafikverarbeitungseinheit (GPU) ausgeführt wird. Nur in C++-Projekten verfügbar.

Netzwerkloopbacks deaktivieren (optional)

Aus Sicherheitsgründen kann eine UWP-Anwendung, die standardmäßig installiert ist, keine Netzwerkaufrufe an das Gerät auszuführen, auf dem sie installiert wurde. In Visual Studio sind bereitgestellte Apps standardmäßig von dieser Regel ausgenommen, sodass Sie Kommunikationsverfahren auf einem einzelnen Computer testen können. Bevor Sie die App freigeben, sollten Sie die App ohne die Ausnahme testen.

So entfernen Sie die Netzwerkloopbackausnahme:

  • Deaktivieren Sie für C#- und Visual Basic-Apps auf der Eigenschaftsseite Debuggen unter Startoptionen das Kontrollkästchen Lokales Netzwerkloopback zulassen.

  • Wählen Sie für C++-Apps auf der Eigenschaftsseite Debuggen aus der Dropdownliste Lokales Netzwerkloopback zulassen die Option Nein aus.

Installieren Sie die Anwendung neu, wenn Sie das Debuggen starten (optional)

Zur Diagnose von Installationsproblemen mit einer C#- oder Visual Basic-App, wählen Sie auf der Eigenschaftsseite Debuggen die Option Paket deinstallieren und anschließend neu installieren aus. Mit dieser Option wird die ursprüngliche Installation neu erstellt, wenn Sie das Debuggen starten. Diese Option ist für C++-Projekte nicht verfügbar.

Festlegen der Authentifizierungsoptionen für das Remotedebuggen

Standardmäßig müssen Sie Windows-Anmeldeinformationen angeben, um den Remotedebugger auszuführen, wenn Sie Remotecomputer als Bereitstellungsziel wählen. Sie können die Authentifizierungsanforderung ändern.

Der Authentifizierungsmodus Universell (unverschlüsseltes Protokoll) ist für IoT-, Xbox- und HoloLens-Geräte, PCs mit Widows 11 sowie PCs mit Creator's Update oder neueren Versionen von Windows 10 vorgesehen.

So ändern Sie die Authentifizierungsmethode

  • Wählen Sie für C#- und Visual Basic-Apps auf der Eigenschaftsseite Debuggen die Option Remotecomputer als Zielgerät aus. Wählen Sie dann für Authentifizierungsmodus die Option Keine oder Universell (unverschlüsseltes Protokoll) aus.

  • Wählen Sie für C++-Apps auf der Eigenschaftsseite Debuggen unter Zu startender Debugger die Option Remotecomputer aus. Wählen Sie dann für Authentifizierungsmodus die Option Keine Authentifizierung oder Universell (unverschlüsseltes Protokoll) aus.

Achtung

Die Netzwerksicherheit ist nicht gegeben, wenn Sie den Remotedebugger in den Modi Keine oder Universell (unverschlüsseltes Protokoll) ausführen. Wählen Sie diese Modi nur in vertrauenswürdigen Netzwerken, von denen Sie sicher sind, dass sie nicht durch schädlichen Code oder feindlichen Datenverkehr gefährdet sind.

Startoptionen für das Debuggen

Wenn Sie Debuggen>Debuggen starten auswählen oder F5 drücken, startet Visual Studio die App mit dem angefügten Debugger. Die Ausführung wird fortgeführt, bis ein Haltepunkt erreicht wird, bis Sie diese manuell anhalten, bis eine unbehandelte Ausnahme auftritt, oder bis die Anwendung beendet ist.

Starten des Debuggens mit verzögertem App-Start

In der Standardeinstellung wird die App in Visual Studio sofort gestartet, wenn Sie das Debuggen starten. Sie können die App auch so einrichten, dass sie im Debugmodus ausgeführt wird, aber außerhalb des Debuggers gestartet wird. Angenommen, Sie möchten den App-Start über das Windows-Start-Menü starten oder einen Hintergrundprozess in der App debuggen. Wenn Sie diese Option auswählen, wird die App beim Start im Debugger gestartet.

So deaktivieren Sie den automatischen App-Start

  • Wählen Sie für C#- und Visual Basic-Apps auf der Eigenschaftenseite Debuggen unter Startoptionen die Option Eigenen Code zunächst nicht starten, sondern debuggen aus.

  • Wählen Sie für C++-Apps auf der Eigenschaftsseite Debuggen aus der Dropdownliste Anwendung starten die Option Nein aus.

Weitere Informationen zum Debuggen von Hintergrundaufgaben finden Sie unter Trigger suspend, resume, and background events for UWP apps (Auslösen von Anhalte-, Fortsetzungs- und Hintergrundereignissen in UWP-Apps).

Debuggen einer installierten oder laufenden UWP-App

Sie können Installiertes App-Paket debuggen verwenden, um eine UWP-App zu debuggen, die bereits auf einem lokalen Gerät oder einem Remotegerät ausgeführt wird. Möglicherweise wurde die App aus dem Microsoft Store installiert, oder es handelt sich nicht um ein Visual Studio-Projekt. So kann die App beispielsweise über ein benutzerdefiniertes Buildsystem verfügen, das keine Visual Studio-Projekte oder -Projektmappen verwendet.

Sie können die installierte App sofort starten, oder Sie können Sie so festlegen, dass Sie im Debugger ausgeführt wird, wenn Sie mit einer anderen Methode gestartet wird. Weitere Informationen finden Sie unter Trigger suspend, resume, and background events for UWP apps (Auslösen von Anhalte-, Fortsetzungs- und Hintergrundereignissen in UWP-Apps).

Zum Starten einer installierten oder laufenden UWP-App im Debugger wählen Sie Debuggen>Andere Debugziele>Installiertes App-Paket debuggen aus. Weitere Anweisungen finden Sie unter Debuggen eines installierten App-Pakets.

Anfügen des Debuggers an eine ausgeführte Windows 8.x-App

Um den Debugger an eine Windows 8.x Store-App anzufügen, müssen Sie im Debuggable Package Manager festlegen, dass die App im Debugmodus ausgeführt wird. Der Debuggable Package Manager wird mit den Remotetools für Visual Studio installiert.

  1. Installieren Sie die Remotetools für Visual Studio auf dem Gerät, auf dem die App installiert wurde. Weitere Informationen finden Sie unter Installieren der Remotetools.

  2. Suchen Sie über den Windows-Start nach Debuggable Package Manager, und starten Sie ihn.

    Es wird ein ordnungsgemäß für das AppxDebug-Cmdlet konfiguriertes PowerShell-Fenster angezeigt.

  3. Geben Sie den PackageFullName-Bezeichner der App an.

    1. Um eine Liste anzuzeigen, die PackageFullName für alle Apps enthält, geben Sie in der PowerShell-Eingabeaufforderung Get-AppxPackage ein.

    2. Geben Sie in der PowerShell-Eingabeaufforderung Enable-AppxDebug <PackageFullName> ein, wobei <PackageFullName> der PackageFullName-Bezeichner der App ist.

  4. Wählen Sie Debuggen>An den Prozess anhängen aus.

  5. Geben Sie im Dialogfeld An den Prozess anhängen das Remotegerät im Feld Verbindungsziel an.

    Sie können den Gerätenamen eingeben, ihn aus der Dropdownliste im Feld Verbindungsziel auswählen oder Suchen auswählen, um das Gerät im Dialogfeld Remoteverbindungen zu suchen.

  6. Geben Sie den zu debuggenden Codetyp an, indem Sie neben dem Feld Anfügen an die Option Auswählen auswählen.

  7. Wählen Sie im Dialogfeld Codetyp auswählen eine der folgenden Optionen aus:

    • Zu debuggenden Codetyp automatisch bestimmen oder
    • Diese Codetypen debuggen. Wählen Sie anschließend mindestens einen Codetyp aus der Liste aus.
  8. Wählen Sie in der Liste Verfügbare Prozesse den App-Prozess zum Debuggen aus.

  9. Wählen Sie Anfügen aus.

Der Debugger wird in Visual Studio an den Prozess angefügt. Die Ausführung wird fortgeführt, bis ein Haltepunkt erreicht wird, bis Sie diese manuell anhalten, bis eine unbehandelte Ausnahme auftritt, oder bis die Anwendung beendet ist.

Siehe auch