Gewusst wie: Anfügen an einen laufenden Prozess

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Standard

Pro und Team

Tabellenlegende:

Vorhanden

Nicht vorhanden

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

Sie können den Visual Studio-Debugger an jeden laufenden Prozess anfügen.

So stellen Sie die Verbindung zu einem laufenden Prozess her

  1. Wählen Sie im Menü Debuggen die Option An den Prozess anhängen aus. (Wenn kein Projekt geöffnet ist, wählen Sie den Befehl An den Prozess anhängen über das Menü Extras.)

  2. Wählen Sie im Dialogfeld An den Prozess anhängen aus der Liste Verfügbare Prozesse das Programm, mit dem Sie eine Verbindung herstellen möchten.

    1. Wenn das zu debuggende Programm auf einem anderen Computer ausgeführt wird, müssen Sie zunächst diesen Remotecomputer auswählen. (Weitere Informationen hierzu finden Sie unter Gewusst wie: Auswählen eines Remotecomputers.)

    2. Wenn der Prozess unter einem anderen Benutzerkonto ausgeführt wird, aktivieren Sie das Kontrollkästchen Prozesse aller Benutzer anzeigen.

    3. Wenn Sie über eine Remotedesktopverbindung verbunden sind, aktivieren Sie das Kontrollkästchen Prozesse in allen Sitzungen anzeigen.

  3. Stellen Sie sicher, dass im Feld Anfügen an der Typ des Codes aufgelistet ist, den Sie debuggen möchten. Bei Verwendung der Standardeinstellung Automatisch wird versucht, den zu debuggenden Codetyp zu ermitteln. Wenn die automatische Einstellung nicht geeignet ist:

    1. Klicken Sie auf Auswählen.

    2. Klicken Sie im Dialogfeld Codetyp auswählen auf Diese Codetypen debuggen, und wählen Sie die zu debuggenden Codetypen aus.

    3. Klicken Sie auf OK.

  4. Klicken Sie auf Anfügen.

    Die Liste Verfügbare Prozesse wird beim Öffnen des Dialogfelds Prozesse automatisch angezeigt. Prozesse können bei geöffnetem Dialogfeld im Hintergrund gestartet und angehalten werden. Der Inhalt ist jedoch nicht immer aktuell. Sie können die Liste jederzeit aktualisieren, um die aktuelle Liste der Prozesse anzuzeigen. Klicken Sie dazu auf Aktualisieren.

    Sie können beim Debuggen mit mehreren Programmen verbunden sein, es ist jedoch jeweils nur ein Programm im Debugger aktiv. Sie können das aktive Programm auf der Symbolleiste Debugspeicherort oder im Fenster Prozesse festlegen. Weitere Informationen finden Sie unter Gewusst wie: Festlegen des aktuellen Programms.

    Alle Ausführungsbefehle des Menüs Debuggen wirken sich auf das aktive Programm aus. Sie können die Verbindung eines gedebuggten Programms über das Dialogfeld Prozesse unterbrechen bzw. alle angefügten Programme über das Menü Debuggen trennen. Weitere Informationen finden Sie unter Gewusst wie: Unterbrechen der Ausführung.

    Hinweis:

    Damit der Debugger an verwalteten, in Visual C++ geschriebenen Code angefügt werden kann, muss der Code DebuggableAttribute ausgeben. Sie können dieses Attribut automatisch in den Code einfügen, indem Sie eine Verknüpfung über die /ASSEMBLYDEBUG-Linkeroption herstellen.

    Wird versucht, eine Verbindung mit einem Prozess herzustellen, der zu einem nicht vertrauenswürdigen Benutzerkonto gehört, wird ein Bestätigungsdialogfeld mit einer Sicherheitswarnung angezeigt. Weitere Informationen finden Sie unter Sicherheitswarnung: Das Anfügen an einen Prozess, der zu einem nicht vertrauenswürdigen Benutzer gehört, kann ein Sicherheitsrisiko darstellen. Wenn die folgenden Informationen verdächtig erscheinen, oder wenn Sie sich nicht sicher sind, fügen Sie nichts an diesen Prozess an..

    In einigen Fällen werden beim Debuggen in einer Remotedesktopsitzung (Terminaldienste) in der Liste Verfügbare Prozesse nicht alle verfügbaren Prozesse angezeigt. Wenn Sie unter Windows Server 2003 oder höheren Versionen Visual Studio unter einem eingeschränkten Benutzerkonto ausführen, werden in der Liste Verfügbare Prozesse keine Prozesse angezeigt, die in der für Dienste und andere Serverprozesse einschließlich w3wp.exe verwendeten Sitzung 0 ausgeführt werden. Sie können dieses Problem beheben, indem Sie Visual Studio unter einem Administratorkonto oder Visual Studio an der Serverkonsole und nicht in einer Terminaldienstesitzung ausführen. Wenn keine dieser beiden Problemlösungen möglich ist, können Sie als dritte Möglichkeit den Prozess anfügen, indem Sie vsjitdebugger.exe -p ProcessId in der Windows-Befehlszeile ausführen. Sie können die Prozess-ID mithilfe von tlist.exe bestimmen. Sie erhalten tlist.exe, indem Sie Debugging Tools for Windows von der Seite https://www.microsoft.com/whdc/devtools/debugging/default.mspx herunterladen und installieren.

Siehe auch

Aufgaben

Gewusst wie: Anfügen an verwaltete Geräteprozesse

Konzepte

Debuggersicherheit

Referenz

Sicherheitswarnung: Das Anfügen an einen Prozess, der zu einem nicht vertrauenswürdigen Benutzer gehört, kann ein Sicherheitsrisiko darstellen. Wenn die folgenden Informationen verdächtig erscheinen, oder wenn Sie sich nicht sicher sind, fügen Sie nichts an diesen Prozess an.

Weitere Ressourcen

Anhängen an laufende Prozesse