Freigeben über


Anfügen an laufende Prozesse mit dem Visual Studio-Debugger

Sie können den Visual Studio-Debugger an einen ausgeführten Prozess auf einem lokalen oder Remotecomputer anfügen. Nachdem der Prozess läuft, wählen Sie Debug>An Prozess anfügen oder drücken Sie Strg+Alt+P in Visual Studio und verwenden Sie den Dialog An Prozess anfügen, um den Debugger an den Prozess anzuhängen.

Sie können "An Prozess anfügen" verwenden, um ausgeführte Apps auf lokalen oder Remotecomputern zu debuggen, mehrere Prozesse gleichzeitig zu debuggen, Apps zu debuggen, die nicht in Visual Studio erstellt wurden, oder eine App zu debuggen, die Sie mit dem angefügten Debugger nicht gestartet haben. Wenn Sie beispielsweise eine App ohne den Debugger ausführen und auf eine Ausnahme stoßen, können Sie den Debugger an den Prozess anfügen, der die App ausführt, und mit dem Debuggen beginnen.

Tipp

Sind Sie sich nicht sicher, ob Sie "An Prozess anhängen" für Ihr Debugszenario verwenden möchten? Siehe allgemeine Debugszenarien.

Anfügen an einen ausgeführten Prozess auf Ihrem lokalen Computer

Informationen zum schnellen Erneuten Anfügen an einen Prozess, den Sie zuvor angefügt haben, finden Sie unter "Erneutes Anfügen an einen Prozess".

Ab Visual Studio 2022, Version 17.10 Preview 2, wurde das Dialogfeld "An Prozess anhängen" geändert. Wenn Sie Anweisungen benötigen, die dem älteren Dialogfeld entsprechen, wechseln Sie zur Visual Studio 2019-Ansicht (obere linke Versionsauswahl im Artikel).

Um einen Prozess auf Ihrem lokalen Computer zu verbinden:

  1. Wählen Sie in Visual Studio "Debug>An Prozess anfügen" aus (oder drücken Sie STRG+ALT+P), um das Dialogfeld "An Prozess anfügen" zu öffnen.

  2. Legen Sie den Verbindungstyp auf "Lokal" fest.

    In den meisten lokalen Debugszenarien können Sie "Lokal" verwenden. Einige Szenarien erfordern möglicherweise einen anderen Verbindungstyp. Weitere Informationen finden Sie in anderen Abschnitten in diesem Artikel oder in allgemeinen Debugszenarien.

    Screenshot des Dialogfelds

  3. Suchen Sie in der Liste "Verfügbare Prozesse " den Prozess oder die Prozesse, die Sie anfügen möchten, und wählen Sie sie aus.

    • Um einen Prozess schnell auszuwählen, geben Sie den Namen oder den ersten Buchstaben in das Feld "Filterprozesse " ein.
    • Wenn Sie den Prozessnamen nicht kennen, durchsuchen Sie die Liste, oder lesen Sie allgemeine Debugszenarien für einige gängige Prozessnamen.
    • Verwenden Sie die Schaltfläche "Fenster nachverfolgen ", um das Auswählen eines Fensters auf Ihrem Computer zu aktivieren, das den Prozess festlegt.

    Tipp

    Prozesse können im Hintergrund gestartet und beendet werden, während das Dialogfeld "An Prozess anfügen " geöffnet ist, sodass die Liste der ausgeführten Prozesse möglicherweise nicht immer aktuell ist. Sie können " Aktualisieren" jederzeit auswählen, um die aktuelle Liste anzuzeigen.

  4. Stellen Sie im Feld "Codetyp " sicher, dass der Codetyp, den Sie debuggen möchten, aufgelistet ist.

    Die Standardeinstellung "Automatisch" funktioniert für die meisten App-Typen, Sie können jedoch einen bestimmten Codetyp auswählen, um den Debuggertyp manuell anzugeben.

  5. Wählen Sie Anfügen aus.

Tipp

Verwenden Sie in dem Szenario, in dem Sie über mehrere identische Prozesse verfügen, die Befehlszeilenspalte oder die W3WP-Prozessdetails aus der Spalte "Titel", um den richtigen Prozess zu identifizieren.

  1. In Visual Studio wählen Sie "Debug" >An Prozess anfügen" aus (oder drücken Sie STRG+ALT+P), um das Dialogfeld An Prozess anfügen zu öffnen.

  2. Überprüfen Sie den Verbindungstyp.

    In den meisten Szenarien können Sie "Standard" verwenden. Einige Szenarien erfordern möglicherweise einen anderen Verbindungstyp. Weitere Informationen finden Sie in anderen Abschnitten in diesem Artikel oder in allgemeinen Debugszenarien.

  3. Legen Sie das Verbindungsziel auf ihren lokalen Computernamen fest.

    Screenshot des Dialogfelds

  4. Suchen Sie in der Liste "Verfügbare Prozesse " den Prozess oder die Prozesse, die Sie anfügen möchten, und wählen Sie sie aus.

    • Um einen Prozess schnell auszuwählen, geben Sie den Namen oder den ersten Buchstaben in das Feld "Filterprozesse " ein.

    • Wenn Sie den Prozessnamen nicht kennen, durchsuchen Sie die Liste, oder lesen Sie allgemeine Debugszenarien für einige gängige Prozessnamen.

    Tipp

    Prozesse können im Hintergrund gestartet und beendet werden, während das Dialogfeld "An Prozess anfügen " geöffnet ist, sodass die Liste der ausgeführten Prozesse möglicherweise nicht immer aktuell ist. Sie können " Aktualisieren" jederzeit auswählen, um die aktuelle Liste anzuzeigen.

  5. Stellen Sie im Feld "Anfügen an " sicher, dass der Codetyp, den Sie debuggen möchten, aufgelistet ist. Die Standardeinstellung "Automatisch" funktioniert für die meisten App-Typen.

    Wenn Sie den Standardverbindungstyp verwenden, können Sie manuell den Codetyp auswählen, mit dem Sie verbinden möchten. Andernfalls ist die Option "Auswählen " möglicherweise deaktiviert.

    So wählen Sie Codetypen manuell aus:

    1. Klicke auf Auswählen.
    2. Wählen Sie im Dialogfeld " Codetyp auswählen " die Option " Debuggen dieser Codetypen" aus. Wenn beim Anfügen an einen Prozess in der Liste ein Fehler auftritt, können Sie das Dialogfeld "Codetyp auswählen " verwenden, um das Problem zu beheben .
    3. Wählen Sie die Codetypen aus, die Sie debuggen möchten.
    4. Wählen Sie OK aus.
  6. Wählen Sie Anfügen aus.

Hinweis

Sie können für das Debuggen an mehrere Apps angefügt werden, im Debugger ist jedoch jeweils nur eine App aktiv. Sie können die aktive App in der Symbolleiste für den Visual Studio-Debug-Ort oder im Prozesse-Fenster festlegen.

Anhängen an einen Prozess auf einem Remote-Computer

Sie können auch einen Remotecomputer im Dialogfeld "An Prozess anfügen " auswählen, eine Liste der verfügbaren Prozesse anzeigen, die auf diesem Computer ausgeführt werden, und eine oder mehrere der Prozesse zum Debuggen anfügen. Der Remotedebugger (msvsmon.exe) muss auf dem Remotecomputer ausgeführt werden. Weitere Informationen finden Sie unter Remotedebugging.

Ab Visual Studio 2022, Version 17.10 Preview 2, wurde das Dialogfeld "An Prozess anhängen" geändert. Wenn Sie Anweisungen benötigen, die dem älteren Dialogfeld entsprechen, wechseln Sie zur Visual Studio 2019-Ansicht (obere linke Versionsauswahl im Artikel).

Um sich mit einem laufenden Prozess auf einem Remotecomputer zu verbinden:

  1. In Visual Studio wählen Sie "Debug" >An Prozess anfügen" aus (oder drücken Sie STRG+ALT+P), um das Dialogfeld An Prozess anfügen zu öffnen.

  2. Legen Sie den Verbindungstyp auf einen Remoteverbindungstyp fest, z. B. Remote (Windows).

    In den meisten Szenarien für das Remotedebugging unter Windows können Sie Remote (Windows) verwenden. Einige Szenarien, z. B. das Debuggen von Linux oder eine containerisierte App, erfordern einen anderen Verbindungstyp. Weitere Informationen finden Sie in anderen Abschnitten in diesem Artikel oder in allgemeinen Debugszenarien.

    Die Option "Zielverbindung " wird angezeigt.

  3. Wählen Sie im Zielfeld "Verbindung " den Remotecomputer mit einer der folgenden Methoden aus:

    • Wählen Sie den Dropdownlistenpfeil neben dem Verbindungsziel aus, und wählen Sie den Computernamen aus der Dropdownliste aus.
    • Geben Sie den Computernamen in das Zielfeld "Verbindung " ein, und drücken Sie die EINGABETASTE.
    • Wählen Sie die Schaltfläche " Suchen " neben dem Zielfeld "Verbindung " aus, um das Dialogfeld "Remoteverbindungen " zu öffnen. Im Dialogfeld "Remoteverbindungen " werden alle Geräte aufgelistet, die sich in Ihrem lokalen Subnetz befinden oder direkt an Ihren Computer angeschlossen sind. Möglicherweise müssen Sie ausgehenden UDP-Port 3702 auf dem Server öffnen, um Remotegeräte zu ermitteln. Wählen Sie den gewünschten Computer oder Gerät aus, und schließen Sie dann das Dialogfeld.

    Stellen Sie sicher, dass Visual Studio den erforderlichen Port zum Computernamen hinzufügt, der im Format angezeigt wird: <Remote-Computername>:port

    Hinweis

    Wenn Sie keine Verbindung mit dem Namen des Remotecomputers herstellen können, versuchen Sie, die IP- und Portadresse (z. B 123.45.678.9:4026. ) zu verwenden. 4026 ist der Standardport für den Visual Studio 2022-Remotedebugger. Für andere Remote-Debugger-Port-Zuweisungen siehe Remote-Debugger-Port-Zuweisungen.

    Die Verbindungstypeinstellung wird zwischen Debugsitzungen beibehalten. Die Einstellung für das Verbindungsziel wird nur zwischen Debugsitzungen beibehalten, wenn eine erfolgreiche Debugverbindung mit diesem Ziel aufgetreten ist.

  4. Klicken Sie auf "Aktualisieren ", um die Liste der verfügbaren Prozesse aufzufüllen.

    Tipp

    Prozesse können im Hintergrund gestartet und beendet werden, während das Dialogfeld "An Prozess anfügen " geöffnet ist, sodass die Liste der ausgeführten Prozesse möglicherweise nicht immer aktuell ist. Sie können " Aktualisieren" jederzeit auswählen, um die aktuelle Liste anzuzeigen.

  5. Suchen Sie in der Liste "Verfügbare Prozesse " den Prozess oder die Prozesse, die Sie anfügen möchten, und wählen Sie sie aus.

  6. Stellen Sie im Feld "Codetyp " sicher, dass der Codetyp, den Sie debuggen möchten, aufgelistet ist.

    Die Standardeinstellung "Automatisch" funktioniert für die meisten App-Typen, Sie können jedoch einen bestimmten Codetyp auswählen, um den Debuggertyp manuell anzugeben.

  7. Wählen Sie Anfügen aus.

  1. In Visual Studio wählen Sie "Debug" >An Prozess anfügen" aus (oder drücken Sie STRG+ALT+P), um das Dialogfeld An Prozess anfügen zu öffnen.

  2. Überprüfen Sie den Verbindungstyp.

    In den meisten Szenarien können Sie "Standard" verwenden. Einige Szenarien, z. B. das Debuggen von Linux oder eine containerisierte App, erfordern einen anderen Verbindungstyp. Weitere Informationen finden Sie in anderen Abschnitten in diesem Artikel oder in allgemeinen Debugszenarien.

  3. Wählen Sie im Zielfeld "Verbindung " den Remotecomputer mit einer der folgenden Methoden aus:

    • Wählen Sie den Dropdownlistenpfeil neben dem Verbindungsziel aus, und wählen Sie den Computernamen aus der Dropdownliste aus.
    • Geben Sie den Computernamen in das Zielfeld "Verbindung " ein, und drücken Sie die EINGABETASTE.
    • Wählen Sie die Schaltfläche " Suchen " neben dem Zielfeld "Verbindung " aus, um das Dialogfeld "Remoteverbindungen " zu öffnen. Im Dialogfeld "Remoteverbindungen " werden alle Geräte aufgelistet, die sich in Ihrem lokalen Subnetz befinden oder direkt an Ihren Computer angeschlossen sind. Möglicherweise müssen Sie ausgehenden UDP-Port 3702 auf dem Server öffnen, um Remotegeräte zu ermitteln. Wählen Sie den gewünschten Computer oder Gerät und dann "Auswählen" aus.

    Stellen Sie sicher, dass Visual Studio den erforderlichen Port zum Computernamen hinzufügt, der im Format angezeigt wird: <Remote-Computername>:port

    Hinweis

    Wenn Sie keine Verbindung mit dem Namen des Remotecomputers herstellen können, versuchen Sie, die IP- und Portadresse (z. B 123.45.678.9:4022. ) zu verwenden. 4024 ist der Standardport für den Visual Studio 2019-Remotedebugger. Weitere Remotedebugger-Portzuweisungen finden Sie unter Remotedebuggerportzuweisungen.

    Die Verbindungstypeinstellung wird zwischen Debugsitzungen beibehalten. Die Einstellung für das Verbindungsziel wird nur zwischen Debugsitzungen beibehalten, wenn eine erfolgreiche Debugverbindung mit diesem Ziel aufgetreten ist.

  4. Klicken Sie auf "Aktualisieren ", um die Liste der verfügbaren Prozesse aufzufüllen.

    Tipp

    Prozesse können im Hintergrund gestartet und beendet werden, während das Dialogfeld "An Prozess anfügen " geöffnet ist, sodass die Liste der ausgeführten Prozesse möglicherweise nicht immer aktuell ist. Sie können " Aktualisieren" jederzeit auswählen, um die aktuelle Liste anzuzeigen.

  5. Suchen Sie in der Liste "Verfügbare Prozesse " den Prozess oder die Prozesse, die Sie anfügen möchten, und wählen Sie sie aus.

  6. Stellen Sie im Feld "Anfügen an " sicher, dass der Codetyp, den Sie debuggen möchten, aufgelistet ist. Die Standardeinstellung "Automatisch" funktioniert für die meisten App-Typen.

    Wenn Sie den Standardverbindungstyp verwenden, können Sie manuell den Codetyp auswählen, mit dem Sie verbinden möchten. Andernfalls ist die Option "Auswählen " möglicherweise deaktiviert.

    So wählen Sie Codetypen manuell aus:

    1. Klicke auf Auswählen.
    2. Wählen Sie im Dialogfeld " Codetyp auswählen " die Option " Debuggen dieser Codetypen" aus. Wenn beim Anfügen an einen Prozess in der Liste ein Fehler auftritt, können Sie das Dialogfeld "Codetyp auswählen " verwenden, um das Problem zu beheben .
    3. Wählen Sie OK aus.
  7. Wählen Sie Anfügen aus.

Hinweis

Sie können für das Debuggen an mehrere Apps angefügt werden, im Debugger ist jedoch jeweils nur eine App aktiv. Sie können die aktive App in der Symbolleiste für den Visual Studio-Debug-Ort oder im Prozesse-Fenster festlegen.

In einigen Fällen zeigt die Liste der verfügbaren Prozesse nicht alle verfügbaren Prozesse an, wenn Sie in einer Remotedesktopsitzung (Terminal Services) debuggen. Wenn Sie Visual Studio als Benutzer ausführen, der über ein eingeschränktes Benutzerkonto verfügt, werden in der Liste " Verfügbare Prozesse " keine Prozesse angezeigt, die in Sitzung 0 ausgeführt werden. Sitzung 0 wird für Dienste und andere Serverprozesse verwendet, einschließlich w3wp.exe. Sie können das Problem lösen, indem Sie Visual Studio unter einem Administratorkonto ausführen oder Visual Studio über die Serverkonsole anstelle einer Remotedesktopsitzung ausführen.

Wenn keine dieser Problemumgehungen möglich ist, besteht eine dritte Option darin, den Prozess vsjitdebugger.exe -p <ProcessId> mithilfe der Windows-Befehlszeile anzufügen. Sie können die Prozess-ID mithilfe vontlist.exeermitteln. Um tlist.exezu erhalten, laden Sie Debugtools für Windows herunter, und installieren Sie sie, die unter WDK- und WinDbg-Downloads zur Verfügung stehen.

Anfügen an einen .NET Core-Prozess, der auf Azure App Service (Windows) ausgeführt wird

Anleitungen für das Veröffentlichen in Azure App Service (Windows) finden Sie unter Remote-Debuggen von ASP.NET Core auf Azure oder Debuggen von Azure App Service.

Anfügen an einen .NET Core-Prozess, der auf Azure App Service (Windows) ausgeführt wird

Wenn Sie in Azure App Service (Windows) veröffentlichen, finden Sie die Option "Debugger anfügen " im Menü "... " unter "Hosting " im Veröffentlichungsprofil. Visual Studio versucht, den Remotedebugger an die Instanz von Azure App Service (Windows) anzufügen, auf der das Profil veröffentlicht wird.

Screenshot der Option

Anfügen an einen .NET Core-Prozess, der unter Linux mit SSH ausgeführt wird

Weitere Informationen finden Sie unter Remote-Debugging von .NET Core, das mit SSH unter Linux ausgeführt wird.

Anfügen an einen Prozess, der auf einem Docker-Container ausgeführt wird

Ab Visual Studio 2019 können Sie den Visual Studio-Debugger an einen Prozess anfügen, der auf einem Docker-Container ausgeführt wird. Einen Linux .NET Core Docker-Container finden Sie unter "Anfügen an einen Prozess, der auf einem Linux-Docker-Container ausgeführt wird. Informationen zu einem Windows Docker-Container finden Sie unter Anfügen an einen Prozess, der auf einem Windows Docker-Container ausgeführt wird.

Erneutes Verbinden mit einem Prozess

Sie können schnell wieder an Prozesse anzuknüpfen, mit denen Sie zuvor verbunden waren, indem Sie Debug>Reattach to Process (Umschalt+Alt+P) auswählen. Wenn Sie diesen Befehl auswählen, wird der Debugger sofort versuchen, sich mit den zuletzt verbundenen Prozessen zu verbinden, indem er zuerst versucht, die vorherige Prozess-ID zuzuordnen. Sollte das fehlschlagen, versucht er, den vorherigen Prozessnamen abzugleichen. Wenn keine Übereinstimmungen gefunden werden oder mehrere Prozesse denselben Namen haben, wird das Dialogfeld " An Prozess anfügen " geöffnet, sodass Sie den richtigen Prozess auswählen können.

Hinweis

Der Befehl An Prozess anfügen ist ab Visual Studio 2017 verfügbar.

Häufige Debugszenarien

Um festzustellen, ob "An Prozess anfügen" verwendet werden soll und an welchen Prozess angefügt werden soll, enthält die folgende Tabelle einige gängige Debugszenarien mit Links zu weiteren Anweisungen, die verfügbar sind. (Die Liste ist nicht erschöpfend.)

Um schnell einen ausgeführten Prozess auszuwählen, an den angefügt werden soll, geben Sie in Visual Studio STRG+ALT+P ein, und geben Sie dann den ersten Buchstaben des Prozessnamens ein.

Damit der Debugger an Code, der in C++ geschrieben wurde, angehängt werden kann, muss der Code ein DebuggableAttribute ausgeben. Sie können dies automatisch zu Ihrem Code hinzufügen, indem Sie mit der Linker-Option /ASSEMBLYDEBUG verbinden.

Für das clientseitige Skriptdebugging muss das Skriptdebugging im Browser aktiviert sein. Wenn Sie clientseitige Skripts in Chrome debuggen möchten, wählen Sie JavaScript oder TypeScript als Codetyp aus, und je nach App-Typ müssen Sie möglicherweise alle Chrome-Instanzen schließen und den Browser im Debuggingmodus starten (Geben Sie über eine Befehlszeile ein chrome.exe --remote-debugging-port=9222 ).

Für das clientseitige Skriptdebugging muss das Skriptdebugging im Browser aktiviert sein. Wenn Sie clientseitige Skripts in Chrome debuggen möchten, wählen Sie JavaScript (Chrome) oder JavaScript (Microsoft Edge - Chromium) als Codetyp aus, und je nach App-Typ müssen Sie möglicherweise alle Chrome-Instanzen schließen und den Browser im Debugmodus starten (Typ chrome.exe --remote-debugging-port=9222 aus einer Befehlszeile). In früheren Versionen von Visual Studio war der Skriptdebugger für Chrome Web Kit.

Scenario Debug-Methode Prozessname Notizen und Links
ASP.NET Core – Remotedebugging auf dem IIS-Server (Internet Information Services) Verwenden Sie Remotetools und An Prozess anhängen w3wp.exe oder dotnet.exe Ab .NET Core 3 wird der w3wp.exe Prozess für das Standardmäßige In-App-Hostingmodell verwendet. Informationen zur App-Bereitstellung finden Sie unter "Veröffentlichen in IIS". Ausführlichere Informationen finden Sie unter Remotedebugging ASP.NET Core auf einem IIS-Remotecomputer
ASP.NET Core – Debuggen auf dem lokalen Computer, nachdem Sie die App ohne den Debugger gestartet haben Verwenden Sie „An Prozess anhängen“ appname.exe oder iisexpress.exe Dies kann hilfreich sein, damit Ihre App schneller geladen wird, z. B. beim Profilieren. Der standardmäßige lokale Serverprozess (Kestrel) für ASP.NET Core ist appname.exe.
ASP.NET 4 oder 4.5 – Remotedebugging auf einem IIS-Server Verwenden Sie Remotetools und Anfügen an Prozess w3wp.exe Siehe Remote-Debugging von ASP.NET auf einem Remote-IIS-Computer
Clientseitiges Skript – Debuggen auf einem lokalen IIS-Server für unterstützte App-Typen Verwenden Sie An Prozess anhängen chrome.exe oder msedge.exe Skriptdebugging muss aktiviert sein. Für Chrome müssen Sie Chrome auch im Debugmodus (Typ chrome.exe --remote-debugging-port=9222 aus einer Befehlszeile) ausführen und JavaScript oder TypeScript im Feld "Anfügen" auswählen.
C#-, Visual Basic- oder C++-App – Debuggen auf dem lokalen Computer Verwenden Sie entweder das Standard-Debugging (F5) oder An Prozess anhängen {appname}-.exe Verwenden Sie in den meisten Szenarien Standard-Debugging und nicht An Prozess anhängen.
Windows-Desktop-App – Remote-Debugging Remotetools N/A Siehe Remotedebugging einer C#- oder Visual Basic-App oder eines Remotedebuggings einer C++-App
.NET Core unter Linux – Debuggen Verwenden Sie An Prozess anbinden dotnet.exe oder ein eindeutiger Prozessname Informationen zur Verwendung von SSH finden Sie unter Remote debug .NET Core, das unter Linux mit SSH ausgeführt wird. Informationen zu containerisierten Apps finden Sie unter Anfügen an einen Prozess, der in einem Docker-Container ausgeführt wird.
Containerisierte App – Debuggen Verwenden "An Prozess anhängen" dotnet.exe oder ein eindeutiger Prozessname Siehe Anfügen an einen Prozess, der in einem Docker-Container ausgeführt wird
Python unter Linux – Remotedebugging Verwenden Sie An Prozess anfügen debugpy Remoteanfügen von Python-Tools anzeigen
Andere unterstützte App-Typen – Debuggen auf einem Serverprozess Wenn der Server remote ist, verwenden Sie Remotetools und an Prozess anhängen chrome.exe, msedge.exeoder andere Prozesse Verwenden Sie bei Bedarf den Ressourcenmonitor, um den Prozess zu identifizieren. Siehe Remote-Debugging.
App für die universelle Windows-Plattform (UWP), OneCore, HoloLens oder IoT-App – Remotedebugging Debuggen des installierten App-Pakets N/A Siehe Debuggen eines installierten App-Pakets anstelle der Verwendung von "An Prozess anfügen"
UWP-App, OneCore, HoloLens oder IoT – Debuggen einer App, die Sie nicht mit Visual Studio gestartet haben Debuggen des installierten App-Pakets N/A Siehe Debuggen eines installierten App-Pakets anstelle der Verwendung von "An Prozess anfügen"

Debugger-Features verwenden

Um die vollständigen Funktionen des Visual Studio-Debuggers (wie das Erreichen von Haltepunkten) beim Anschließen an einen Prozess zu nutzen, muss die App exakt mit Ihren lokalen Quell- und Symboldateien übereinstimmen. Das heißt, der Debugger muss in der Lage sein, die richtigen Symboldateien (PDB) zu laden. Dies erfordert standardmäßig einen Debug-Build.

Für Remotedebuggingszenarien muss der Quellcode (oder eine Kopie des Quellcodes) bereits in Visual Studio geöffnet sein. Die kompilierten App-Binärdateien auf dem Remotecomputer müssen vom gleichen Build wie auf dem lokalen Computer stammen.

In einigen lokalen Debugszenarien können Sie in Visual Studio ohne Zugriff auf die Quelle debuggen, wenn die richtigen Symboldateien mit der App vorhanden sind. Dies erfordert standardmäßig einen Debug-Build. Weitere Informationen finden Sie unter Angeben von Symbol- und Quelldateien.

Behebung von Anfügefehlern

In einigen Szenarien benötigt der Debugger möglicherweise Hilfe, um den Typ des zu debuggenden Codes korrekt zu identifizieren. Wenn die Verbindungswerte richtig festgelegt sind (Sie können den richtigen Prozess in der Liste der verfügbaren Prozesse anzeigen), aber der Debugger nicht angefügt werden kann, versuchen Sie, den am besten geeigneten Debugger in der Codetypliste auszuwählen, was z. B. erforderlich sein kann, wenn Sie eine Linux- oder Python-App debuggen.

In einigen Szenarien benötigt der Debugger möglicherweise Hilfe, um den Typ des zu debuggenden Codes korrekt zu identifizieren. Wenn die Verbindungswerte richtig festgelegt sind (Sie können den richtigen Prozess in der Liste der verfügbaren Prozesse anzeigen), aber der Debugger nicht anfügen kann, versuchen Sie, den am besten geeigneten Verbindungstyp in der Liste der Verbindungstypen auszuwählen, die z. B. erforderlich sein kann, wenn Sie eine Linux- oder Python-App debuggen. Wenn Sie den Standardverbindungstyp verwenden, können Sie alternativ den spezifischen Codetyp auswählen, mit dem eine Verbindung hergestellt werden soll, wie weiter unten in diesem Abschnitt beschrieben.

Wenn der Debugger an einen ausgeführten Prozess angefügt wird, kann der Prozess einen oder mehrere Codetypen enthalten. Die Codetypen, an die der Debugger angefügt werden kann, werden im Dialogfeld 'Codetyp auswählen' angezeigt und dort ausgewählt.

Manchmal kann der Debugger erfolgreich an einen Codetyp angefügt werden, aber nicht an einen anderen Codetyp. In der Regel tritt dies in folgenden Fällen auf:

  • Sie versuchen, sich mit einem Prozess zu verbinden, der auf einem entfernten Computer ausgeführt wird. Auf dem Remotecomputer sind möglicherweise Remotedebuggingkomponenten für einige Codetypen installiert, aber nicht für andere.
  • Sie versuchen, zwei oder mehr Prozesse für das direkte Datenbankdebugging anzufügen. Das SQL-Debugging unterstützt nur das Anfügen an einen einzelnen Prozess.

Wenn der Debugger an einige, aber nicht alle Codetypen anhängen kann, wird eine Meldung angezeigt, die angibt, welche Typen nicht angehängt werden konnten.

Wenn der Debugger erfolgreich an mindestens einen Codetyp angefügt wird, können Sie mit dem Debuggen des Prozesses fortfahren. Sie können nur die Codetypen debuggen, die erfolgreich angefügt wurden. Der nicht angefügte Code im Prozess wird weiterhin ausgeführt, Sie können jedoch keine Haltepunkte festlegen, Daten anzeigen oder andere Debugvorgänge für diesen Code ausführen.

Wenn Sie spezifischere Informationen darüber wünschen, warum der Debugger nicht an einen Codetyp angefügt werden konnte, versuchen Sie, nur diesen Codetyp erneut anzufügen.

Bestimmte Informationen darüber abrufen, warum es nicht möglich war, einen Codetyp anzufügen

  1. Sich vom Prozess lösen. Wählen Sie im Menü " Debuggen " die Option "Alle trennen" aus.

  2. Stellen Sie die Verbindung zum Prozess wieder her und wählen Sie nur den Codetyp aus, der beim Anfügen fehlgeschlagen ist.

    1. Wählen Sie im Dialogfeld "An Prozess anhängen " den Prozess in der Liste "Verfügbare Prozesse " aus.

    2. Wählen Sie in der Option "Codetyp " den Codetyp aus, der nicht angefügt werden konnte. Deaktivieren Sie die Auswahl der anderen Codetypen.

    3. Wählen Sie im Dialogfeld "An Prozess anfügen " die Option "Anfügen" aus.

    Dieses Mal schlägt die Anfügung vollständig fehl, und Sie erhalten eine bestimmte Fehlermeldung.

  1. Trennen Sie den Prozess. Wählen Sie im Menü " Debuggen " die Option "Alle trennen" aus.

  2. Verbinden Sie sich wieder mit dem Prozess, und wählen Sie nur den Codetyp aus, der nicht angehängt werden konnte.

    1. Wählen Sie im Dialogfeld "An Prozess anhängen " den Prozess in der Liste "Verfügbare Prozesse " aus.

    2. Wählen Sie Select aus.

    3. Wählen Sie im Dialogfeld " Codetyp auswählen " die Option " Debuggen dieser Codetypen " und den Codetyp aus, der nicht angefügt werden konnte. Deaktivieren Sie die anderen Codetypen.

    4. Wählen Sie OK aus.

    5. Wählen Sie im Dialogfeld "An Prozess anfügen " die Option "Anfügen" aus.

    Dieses Mal wird der Anhang vollständig fehlschlagen, und Sie erhalten eine spezifische Fehlermeldung.