Problembehandlung beim Remotedebuggen
Gilt für: Visual Studio
In diesem Artikel werden die Schritte zur Problembehandlung und Lösungen einiger häufig auftretender Probleme beim Remotedebugging vorgestellt.
Um Probleme beim Remotedebugging zu beheben, besteht der erste Schritt darin, nach Fehlermeldungen zu suchen und zu untersuchen. Die Nachricht kann einen Link mit weiteren Informationen enthalten.
Überprüfen Sie dann, ob die App auf dem Server ordnungsgemäß ausgeführt wird, bevor Sie versuchen, sie zu debuggen.
Andernfalls finden Sie im Anschluss die häufigsten Probleme und Lösungen:
Falsche Version des Remotedebuggers installiert
Stellen Sie bei Szenarien, in denen Sie den Remotedebugger manuell auf einem Remotecomputer installieren, sicher, dass die installierte Version Ihrer Version von Visual Studio entspricht. Aktuelle Links zum Herunterladen des Remotedebuggers finden Sie unter Remotedebugger.
Anstelle eines Debugbuilds wird ein Releasebuild auf dem Server bereitgestellt.
Das Veröffentlichungstool und einige andere Veröffentlichungsoptionen verfügen über eine separate Debugkonfigurationseinstellung, die Sie festlegen müssen. (Möglicherweise wählen Sie einen Debugbuild aus, wenn Sie die App in Visual Studio ausführen. Das bedeutet aber nicht, dass Sie einen Debugbuild auf dem Server installiert haben.)
Das Anfügen an die Remoteanwendung ist möglich, aber Sie können keine Breakpoints treffen (andernfalls werden Debugsymbole nicht geladen)
Bei diesem Problem wird möglicherweise die Meldung Keine Symbole geladen angezeigt.
Im Fenster Module können Sie den Symbolladestatus für Ihr Modul ermitteln und feststellen, welche Module der Debugger als Benutzercode oder als eigenen Code behandelt.
- Die Spalte Symbolstatus gibt an, ob Symbole für das Modul ordnungsgemäß geladen wurden.
- Die Spalte Benutzercode gibt an, ob das Modul, das Sie debuggen möchten, als eigener Code klassifiziert wird. Wenn es falsch als "Mein Code" angezeigt wird, ist wahrscheinlich ein Releasebuild auf dem Server bereitgestellt. Release-Binärdateien sind optimiert und werden niemals als eigener Code betrachtet. Deaktivieren Sie also entweder „Nur eigenen Code“, oder stellen Sie einen Debugbuild auf dem Server bereit.
- Wenn die Einstellung Benutzercode richtig ist, aber Symbole nicht geladen werden, überprüfen Sie, ob der Debugger die richtigen Symboldateien verwendet. Der Debugger lädt nur Symbole (PDB-Dateien), die genau mit den PDB-Dateien übereinstimmen, die beim Buildvorgang einer App erstellt wurden (d. h. die ursprünglichen PDB-Dateien oder Kopien davon). Beim Windows-Remotedebuggen werden standardmäßig PDB-Dateien auf dem Visual Studio-Computer und nicht vom Server gelesen. (msvsmon verfügt jedoch über ein Befehlszeilenargument, um das Fallback auf PDB-Remotedateien zu ermöglichen.)
Weitere Informationen finden Sie unter "Problembehandlung bei Haltepunkten".
(ASP.NET) Die Version von ASP.NET, die auf dem Server ausgeführt wird, ist nicht mit der für Ihre App konfigurierten Version identisch.
Möglicherweise müssen Sie die richtige Version von ASP.NET oder ASP.NET Core auf dem Server oder auf Ihrem lokalen Computer installieren. Um Ihre App-Version von ASP.NET zu überprüfen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Überprüfen Sie die Registerkarte „Build“. Die Konfiguration von ASP.NET auf dem Server ist spezifisch für das Szenario. Für ASP.NET Framework-Apps müssen Sie unter Umständen die Frameworkversion in der Datei web.config festlegen.
Der erforderliche Prozess wird nicht im Dialogfeld „An Prozess anfügen“ angezeigt.
Bei einigen Szenarien ist es erforderlich, dass Sie den richtigen Prozess manuell anfügen. Wenn Sie "An Prozess anfügen" für Ihr Szenario verwenden und den erwarteten Prozess nicht sehen:
- Wenn zuvor der Suchprozessfilter festgelegt wurde, überprüfen Sie, ob Sie ihn löschen müssen.
- Wählen Sie Prozesse für alle Benutzer anzeigen aus, um Prozesse anzuzeigen, die unter anderen Benutzerkonten ausgeführt werden.
- Bei langsamen Verbindungen sollten Sie ggf. die automatische Aktualisierung deaktivieren.
- Wenn sie von den Standardwerten geändert werden, kann der Verbindungstyp und das Anfügen an Felder einschränken, welche Prozesse in der Liste angezeigt werden.
Sie werden nicht an den richtigen Prozess angefügt.
Wenn Sie "Anfügen an"-Prozess verwenden, stellen Sie sicher, dass Sie den richtigen Prozess anfügen. Weitere Informationen finden Sie unter Allgemeine Debugszenarien.
Ein erforderlicher Port ist nicht geöffnet.
In den meisten Setups werden erforderliche Ports durch die Installation von ASP.NET und des Remotedebuggers geöffnet. Möglicherweise müssen Sie jedoch selbst dafür sorgen, dass die Ports geöffnet sind. In Azure-VM-Szenarien müssen Sie beispielsweise den Remotedebuggerport und den Serverport öffnen (IIS verwendet beispielsweise Port 80).
Möglicherweise sind erhöhte Rechte für den Remotedebugger erforderlich.
In einigen Szenarien müssen Sie den Remotedebugger unter Umständen als Administrator ausführen. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers als Administrator.