Remotedebuggen eines C++-Projekts in Visual Studio
Zum Debuggen einer Visual Studio-Anwendung auf einem anderen Computer installieren und führen Sie die Remotetools auf dem Computer aus, auf dem Sie die App bereitstellen möchten, konfigurieren Sie das Projekt für die Verbindung mit dem Remotecomputer über Visual Studio, und stellen Sie die App dann bereit und führen sie aus.
Weitere Informationen zum Remotedebuggen von universellen Windows-Apps (UWP) finden Sie unter Debuggen eines installierten App-Pakets.
Anforderungen
Der Remotedebugger wird unter Windows 7 und höher und unter Windows Server-Versionen ab Windows Server 2008 Service Pack 2 unterstützt. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.
Hinweis
Das Debuggen zwischen zwei über einen Proxy verbundenen Computern wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder niedriger Bandbreite, z. B. eine DFÜ-Internetverbindung oder eine länder-/regionsübergreifende Internetverbindung, wird nicht empfohlen. Der Vorgang kann fehlschlagen oder unzumutbar langsam ausgeführt werden.
Herunterladen und Installieren der Remotetools
Laden Sie über die Links in der folgenden Tabelle die richtige Version der Remotetools herunter, und installieren Sie sie nicht auf dem Visual Studio-Computer, sondern auf dem Remotegerät oder -server, auf dem Sie das Debugging durchführen möchten.
- Laden Sie die aktuellen Remotetools für Ihre Visual Studio-Version herunter. Die aktuelle Version der Remotetools ist mit früheren Versionen von Visual Studio kompatibel, frühere Versionen der Remotetools sind jedoch nicht mit neueren Visual Studio-Versionen kompatibel. (Wenn Sie beispielsweise Visual Studio 2019 verwenden, laden Sie das neueste Update der Remotetools für Visual Studio 2019 herunter. Laden Sie in diesem Szenario die Remotetools für Visual Studio 2022 nicht herunter.)
- Laden Sie die Remotetools herunter, die die gleiche Architektur wie der Computer aufweisen, auf dem Sie sie installieren. Wenn Sie beispielsweise eine 32-Bit-App auf einem Remotecomputer mit einem 64-Bit-Betriebssystem debuggen möchten, installieren Sie die 64-Bit-Remotetools.
- Wenn Sie eine ARM64EC-Anwendung auf einem ARM64-Gerät remotedebuggen, installieren Sie die ARM64-Remotetools und starten Sie dann den x64-Remotedebugger, der mit diesen Tools installiert wird. Dies finden Sie unter: Programmdateien (x86)\Microsoft Visual Studio<version>\Common7\IDE\Remote Debugger\x64.
Version | Link | Hinweise |
---|---|---|
Visual Studio 2022 | Remotetools | Kompatibel mit allen Visual Studio 2022-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2019 | Remotetools | Remotetools für Visual Studio 2019 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2017 | Remotetools | Remotetools für Visual Studio 2017 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2015 | Remotetools | Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2013 | Remotetools | Downloadseite in der Visual Studio 2013-Dokumentation |
Visual Studio 2012 | Remotetools | Downloadseite in der Visual Studio 2012-Dokumentation |
Version | Link | Hinweise |
---|---|---|
Visual Studio 2019 | Remotetools | Kompatibel mit allen Visual Studio 2019-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. Informationen zur aktuellen Version der Remotetools finden Sie in der Visual Studio 2022-Dokumentation. |
Visual Studio 2017 | Remotetools | Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2015 | Remotetools | Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2013 | Remotetools | Downloadseite in der Visual Studio 2013-Dokumentation |
Visual Studio 2012 | Remotetools | Downloadseite in der Visual Studio 2012-Dokumentation |
Sie können den Remotedebugger ausführen, indem Sie msvsmon.exe auf den Remotecomputer kopieren, statt die Remotetools zu installieren. Der Konfigurations-Assistent für den Remotedebugger (rdbgwiz.exe) ist jedoch nur verfügbar, wenn Sie die Remotetools installieren. Unter Umständen müssen Sie den Assistenten für die Konfiguration verwenden, wenn Sie den Remotedebugger als Dienst ausführen möchten. Weitere Informationen finden Sie unter (Optional) Konfigurieren des Remotedebuggers als Dienst.
Hinweis
- Verwenden Sie ARM64 (verfügbar mit der aktuellen Version der Remotetools) zum Debuggen von Windows 10-Apps (oder höher) auf ARM-Geräten.
- Zum Debuggen von Windows 10-Apps auf Windows RT-Geräten verwenden Sie ARM (nur im Download der Visual Studio 2015-Remotetools verfügbar).
Tipp
In einigen Szenarien kann es am effizientesten sein, den Remotedebugger von einer Dateifreigabe aus auszuführen. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers von einer Dateifreigabe.
Einrichten des Remotedebuggers
Suchen und starten Sie auf dem Remotecomputer im Menü Start den Remotedebugger.
Wenn Sie auf dem Remotecomputer nicht über Administratorberechtigungen verfügen, klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Starten Sie andernfalls die App auf normale Weise.
Wenn Sie beabsichtigen, eine Verbindung mit einem Prozess herzustellen, der unter einem Administratorkonto oder einem anderen Benutzerkonto ausgeführt wird (z. B IIS), klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers als Administrator.
Wenn Sie den Remotedebugger zum ersten Mal starten (oder bevor Sie ihn konfiguriert haben), wird der Assistent Konfiguration für Remotedebugging angezeigt.
In den meisten Szenarien wählen Sie Weiter aus, bis Sie zur Seite Windows-Firewall konfigurieren des Assistenten gelangen.
Wenn die Windows-Webdienste-API nicht installiert ist (geschieht nur unter Windows Server 2008 R2), klicken Sie auf die Schaltfläche Installieren.
Wählen Sie mindestens einen Netzwerktyp aus, für den Sie die Remotetools verwenden möchten. Wenn die Computer über eine Domäne verbunden sind, müssen Sie das erste Element auswählen. Wenn die Computer über eine Arbeitsgruppe oder eine Heimnetzgruppe verbunden sind, wählen Sie das zweite bzw. dritte Element aus.
Wählen Sie als Nächstes Fertig stellen aus, um den Remotedebugger zu starten.
Wählen Sie Remotedebugging konfigurieren aus, um den Remotedebugger zu starten.
Wenn die Konfiguration abgeschlossen ist, wird das Fenster Remotedebugger angezeigt.
Der Remotedebugger wartet nun auf eine Verbindung. Verwenden Sie den Servernamen und die Portnummer, die angezeigt werden, um die Remoteverbindungskonfiguration in Visual Studio festzulegen.
Um den Remotedebugger zu beenden, wählen Sie Datei>Beenden aus. Sie können ihn über das Menü Start oder über die Befehlszeile neu starten:
<Remote debugger installation directory>\msvsmon.exe
Hinweis
Wenn Sie Berechtigungen für weitere Benutzer hinzufügen, den Authentifizierungsmodus oder die Portnummer für den Remotedebugger ändern müssen, finden Sie weitere Informationen unter Konfigurieren des Remotedebuggers.
Remotedebuggen eines C++-Projekts
Im folgenden Verfahren lautet der Pfad des Projekts „C:\remotetemp“ und der Name des Remotecomputers MySurface.
Erstellen einer C++-Konsolenanwendung mit dem Namen CppConsoleApp
Legen Sie einen leicht erreichbaren Breakpoint an einer beliebigen Stelle in der
main
-Funktion fest, z. B. in CppConsoleApp.cpp.Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Öffnen Sie die Registerkarte Debuggen.
Legen Sie Zu startender Debugger auf Remote-Windows-Debugger fest.
Nehmen Sie die folgenden Änderungen an den Eigenschaften vor:
Einstellung Wert Remote-Befehl C:\remotetemp\CppConsoleApp.exe Arbeitsverzeichnis C:\remotetemp Remoteservername MySurface:portnummer Verbindung Remote mit Windows-Authentifizierung Debuggertyp Nur systemeigen Bereitstellungsverzeichnis C:\remotetemp Zusätzliche bereitzustellende Dateien $(ProjectDir)\data Wenn Sie zusätzliche Ordner bereitstellen und alle Dateien in einem Ordner im selben Ordner bereitstellen möchten, geben Sie einen Ordnernamen an.
Weitere Informationen zu den Eigenschaften finden Sie unter Projekteinstellungen für eine C++-Debugkonfiguration.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie dann Konfigurations-Manager aus.
Aktivieren Sie für die Konfiguration Debuggen das Kontrollkästchen Bereitstellen.
Starten Sie das Debuggen (wählen Sie Debuggen > Debuggen starten aus, oder drücken Sie F5).
Die ausführbare Datei wird automatisch auf dem Remotecomputer bereitgestellt.
Geben Sie Netzwerkanmeldeinformationen ein, wenn Sie dazu aufgefordert werden, um eine Verbindung mit dem Remotecomputer herzustellen.
Die erforderlichen Anmeldeinformationen sind spezifisch für die Sicherheitskonfiguration Ihres Netzwerks. Beispielsweise können Sie auf einem Domänencomputer ein Sicherheitszertifikat auswählen oder den Domänennamen und das Kennwort eingeben. Auf einem Computer, der kein Domänencomputer ist, können Sie den Computernamen und einen gültigen Benutzerkontonamen wie MySurface\name@something.com zusammen mit dem richtigen Kennwort eingeben.
Auf dem Visual Studio-Computer sollte angezeigt werden, dass die Ausführung am Haltepunkt angehalten wird.
Tipp
Alternativ können die Dateien in einem getrennten Schritt bereitgestellt werden. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie dann Bereitstellen aus.
Wenn Sie Dateien verwenden, die keine Codedateien, aber für die Anwendung erforderlich sind, können Sie diese in einer durch Semikolons getrennten Liste unter Zusätzlich bereitzustellende Dateien auf der Seite Windows-Remotedebugger angeben.
Alternativ dazu können Sie die Dateien in Ihr Projekt einschließen und die Eigenschaft Inhalt auf der Seite Eigenschaften für jede Datei auf Ja festlegen. Diese Dateien werden in das Bereitstellungsverzeichnis kopiert, das auf der Seite Windows-Remotedebugger angegeben wird. Sie können auch den Elementtyp in Datei kopieren ändern und zusätzliche Eigenschaften angeben, wenn die Dateien in einen Unterordner des Bereitstellungsverzeichnisses kopiert werden müssen.
Einrichten des Debuggings mit Remotesymbolen
Sie sollten Ihren Code mit den auf dem Visual Studio-Computer generierten Symbolen debuggen können. Die Leistung des Remotedebuggers ist viel besser, wenn Sie lokale Symbole verwenden.
Wenn Sie Remotesymbole verwenden müssen, müssen Sie die Remotesymbole in Visual Studio angeben, indem Sie dem Symbolsuchpfad unter Extras > Optionen > Debuggen > Symbole eine Windows-Dateifreigabe hinzufügen.