Gewusst wie: Behandeln von Fehlern beim Anhängen
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium und Ultimate |
Wenn der Visual Studio-Debugger an einen laufenden Prozess angehängt wird, kann dieser Prozess mehrere Codetypen enthalten. Der Debugger kann an systemeigenen Code, verwalteten Code sowie an SQL-Code und Skriptcode angehängt werden. Angezeigt und ausgewählt werden diese Codetypen im Dialogfeld An den Prozess anhängen.
Tipp
Damit der Debugger an verwalteten, in 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.
Manchmal kann der Debugger erfolgreich an den einen Codetyp, nicht aber an den anderen Codetyp angehängt werden. Das kann bei dem Versuch vorkommen, den Debugger an einen Prozess anzufügen, der auf einem Remotecomputer ausgeführt wird. Auf dem Remotecomputer sind möglicherweise nur Remotedebugkomponenten für bestimmte Codetypen installiert. Das Gleiche kann passieren, wenn Sie versuchen, den Debugger an mehr als einen Prozess zum direkten Datenbankdebuggen anzufügen. SQL-Debuggen unterstützt lediglich das Anfügen an einen einzelnen Prozess.
Wenn der Debugger nur an bestimmte, nicht aber an alle Codetypen angefügt werden kann, wird eine Meldung mit den Typen angezeigt, die nicht angefügt werden konnten.
Wenn der Debugger erfolgreich an mindestens einen Codetyp angehängt werden kann, können Sie mit dem Debuggen des Prozesses fortfahren. Sie können nur die erfolgreich angehängten Codetypen debuggen. Die vorherige Beispielmeldung weist darauf hin, dass der Skriptcodetyp nicht angefügt werden konnte. Deshalb wäre es nicht möglich, den Skriptcode innerhalb des Prozesses zu debuggen. Der Skriptcode im Prozess würde zwar weiterhin ausgeführt werden, doch Sie wären nicht in der Lage, Haltepunkte festzulegen, Daten anzuzeigen oder andere Debugoperationen im Skript durchzuführen.
Um weitere Informationen darüber zu erhalten, warum der Debugger nicht an einen Codetyp angefügt werden konnte, versuchen Sie erneut, den Debugger nur an diesen Codetyp anzufügen.
So erhalten Sie Informationen darüber, warum ein bestimmter Codetyp nicht angehängt werden konnte
Trennen Sie den Prozess. Klicken Sie dazu im Menü Debuggen auf Alle trennen.
Fügen Sie den Prozess erneut an, und wählen Sie hierbei nur einen Programmtyp aus.
Wählen Sie im Dialogfeld An den Prozess anhängen in der Liste Verfügbare Prozesse den entsprechenden Prozess aus.
Klicken Sie auf Auswählen.
Klicken Sie im Dialogfeld Codetyp auswählen auf Diese Codetypen debuggen, und wählen Sie anschließend den Codetyp aus, der nicht angefügt werden konnte. Löschen Sie allen übrigen Code.
Klicken Sie auf OK. Das Dialogfeld Codetyp auswählen wird geschlossen.
Klicken Sie im Dialogfeld An den Prozess anhängen auf Anhängen.
Dieses Mal schlägt das Anfügen komplett fehl, und Sie erhalten eine spezifische Fehlermeldung.