Problembehandlung beim Remotedebuggen

              Gilt für: Visual Studio

In diesem Artikel werden schritte zur Problembehandlung und Lösungen für einige häufige Probleme beim Remotedebuggen vorgestellt.

Um Probleme beim Remotedebuggen 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 als Nächstes, ob die App auf dem Server ordnungsgemäß ausgeführt wird, bevor Sie versuchen, sie zu debuggen.

Andernfalls finden Sie hier die häufigsten Probleme und Lösungen:

Falsche Version des installierten Remotedebuggers

In Szenarien, in denen Sie den Remotedebugger manuell auf einem Remotecomputer installieren, stellen Sie sicher, dass die installierte Version Ihrer Version von Visual Studio entspricht. Aktuelle Links zum Herunterladen des Remotedebuggers finden Sie unter Remotedebugger.

Ein Releasebuild wird auf dem Server anstelle eines Debugbuilds 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, aber das bedeutet nicht, dass Sie einen Debugbuild auf dem Server installiert haben.)

Sie können an die Remoteanwendung anfügen, aber keine Haltepunkte erreichen (oder Debugsymbole werden nicht geladen).

Bei diesem Problem wird möglicherweise die Meldung No symbols are loaded (Keine Symbole sind geladen) angezeigt.

Verwenden Sie das Fenster Module, um herauszufinden, welche Symbole status für Ihr Modul geladen werden, und welche Module vom Debugger als Benutzercode oder Mein Code behandelt werden.

  • 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 Mein Code klassifiziert ist. Wenn es falsch als Mein Code angezeigt wird, haben Sie wahrscheinlich einen Releasebuild auf dem Server bereitgestellt. Releasebinärdateien sind optimiert und werden nie als Mein Code betrachtet. Deaktivieren Sie also entweder Nur eigenen Code, oder stellen Sie einen Debugbuild auf dem Server bereit.
  • Wenn die Einstellung Benutzercode richtig ist, Symbole aber 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 Erstellen einer App erstellt wurden (d. h. die ursprünglichen PDB-Dateien oder -Kopien). Beim Windows-Remotedebuggen werden PDB-Dateien standardmäßig auf dem Visual Studio-Computer und nicht vom Server gelesen. (Msvsmon verfügt jedoch über ein Befehlszeilenargument, um das Zurückfallen 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, entspricht nicht der Version, die für Ihre App konfiguriert ist.

Möglicherweise müssen Sie die richtige Version von ASP.NET oder ASP.NET Core entweder auf dem Server oder auf Ihrem lokalen Computer installieren. Um die App-Version von ASP.NET zu überprüfen, klicken Sie mit der rechten Maustaste auf das Projekt in Projektmappen-Explorer, und wählen Sie Eigenschaften aus. Überprüfen Sie die Registerkarte Erstellen. Die Konfiguration von ASP.NET auf dem Server ist szenariospezifisch. Für ASP.NET Framework-Apps müssen Sie möglicherweise die Frameworkversion in Ihrer web.config-Datei festlegen.

Der benötigte Prozess wird im Dialogfeld An den Prozess anfügen nicht angezeigt.

In einigen Szenarien müssen Sie manuell an den richtigen Prozess anfügen. Wenn Sie für Ihr Szenario an den Prozess anhängen verwenden und der erwartete Prozess nicht angezeigt wird:

  • Wenn der Suchprozessfilter zuvor 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.
  • Für langsame Verbindungen können Sie die automatische Aktualisierung deaktivieren.
  • Wenn sie von den Standardwerten geändert werden, können die Felder Verbindungstyp und Anfügen an einschränken, welche Prozesse in der Liste angezeigt werden.

Sie fügen nicht an den richtigen Prozess an

Wenn Sie an den Prozess anfügen verwenden, stellen Sie sicher, dass Sie an den richtigen Prozess anfügen. Weitere Informationen finden Sie unter Häufige Debugszenarien.

Ein erforderlicher Port ist nicht geöffnet

In den meisten ASP.NET-Setups werden die erforderlichen Ports durch die Installation von ASP.NET und dem Remotedebugger geöffnet. Möglicherweise müssen Sie jedoch überprüfen, ob die Ports geöffnet sind. Beispielsweise müssen Sie in Azure-VM-Szenarien wahrscheinlich den Remotedebuggerport und den Serverport öffnen (z. B. verwendet IIS Port 80).

Möglicherweise sind erhöhte Berechtigungen für den Remotedebugger erforderlich.

In einigen Szenarien müssen Sie den Remotedebugger möglicherweise als Administrator ausführen. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers als Administrator.