Fügen Sie den Debugger der IIS-Instanz hinzu


81

Ich habe IIS 5.1 auf einem XP-Computer und Visual Studio 2005. Wie füge ich meinen Debugger an die IIS-Instanz an?

Übrigens: Ich sehe den IIS-Prozess nicht in den laufenden Prozessen oder weiß wahrscheinlich nicht, wonach ich suchen soll.


1
Für andere von Google: Anscheinend ist dies in Visual Web Developer 2010 Express nicht möglich. Ich vermute, dass es auch in Visual C # Express nicht vorhanden ist.
Joel Peltonen

Antworten:


131

In Visual Studio:

  1. Klicken Sie in der Menüleiste auf "Debuggen"
  2. Klicken Sie auf "An Prozess anhängen".
  3. Aktivieren Sie das Kontrollkästchen " Prozesse von allen Benutzern anzeigen" in der unteren linken Ecke
  4. Wählen Sie aspnet_wp.exe , w3p.exe oder w3wp.exe aus der Prozessliste aus
  5. Klicken Sie auf "Anhängen"

1
Vielen Dank, wissen Sie zufällig, wie dies in Vista Business und IIS 7 funktioniert?
Mihai Lazar

35
Versuchen Sie, nach dem Prozess w3p.exe zu suchen, und hängen Sie ihn mit den obigen Schritten an
jerjer

2
@Mihai: Unter Vista / Win7 / 2008 / 2008R2 müssen Sie den Debugger auch als Administrator ausführen, um dies tun zu können.
Richard

1
@Rcihard Eine andere Sache ist, wenn es mehrere ApplicationDomains gibt, die jeweils eine andere w3wp.exe-Instanz starten und ich muss auf der Suche nach der sein, auf der derzeit mein Code ausgeführt wird :)
Mihai Lazar

5
@MihaiLazar Führen Sie diese Option aus, C:\windows\system32\inetsrv\appcmd list wpum die Anwendungspools und ihre Prozess-IDs aufzulisten und herauszufinden, an welche sie angehängt werden sollen . blogs.msdn.com/b/friis/archive/2009/10/22/…
Nathan

17

Nur um Jimmie R. Houts Antwort zu klären ...

Wenn Sie die Webanwendung VS und IIS debuggen möchten, können Sie Folgendes tun:

  1. Hosten Sie die Site in IIS (virtuelles Verzeichnis usw.).
  2. Dann machen Sie in VS2005 Folgendes:

    • Klicken Sie mit der rechten Maustaste auf Webprojekt → Eigenschaften → Startoptionen → Benutzerdefinierten Server verwenden → Basis-URL → Geben Sie die Site-Adresse als in IIS gehostet ein.
    • Drücken F5Sie und Sie können Ihren Code debuggen

Gleiches gilt auch für VS 2008.


13

Ich verwende Windows 7 mit IIS Version 7.5 und musste außerdem die Kontrollkästchen "Prozesse von allen Benutzern anzeigen" und "Prozesse in allen Sitzungen anzeigen" unten im Dialogfeld "An Prozess anhängen" aktivieren.

Außerdem hatte ich meine App in einen bestimmten App-Pool gestellt, was bedeutet, dass Sie sie dann auf der w3wp.exe sehen können.


5

Der IIS-Prozess ist aspnet_wp.exe.

Das Anhängen an den Prozess aspnet_wp.exe ist das, was VS tut, wenn Sie Ihr Projekt so eingestellt haben, dass IIS zum Debuggen verwendet wird.


3

Die möglichen Namen des ASP.NET-Prozesses:

  • w3wp.exe ist IIS 6.0 und höher.
  • aspnet_wp.exe ist eine frühere Version von IIS.
  • iisexpress.exe ist IISExpress.
  • dotnet.exe ist ASP.NET Core.
  • inetinfo.exe sind ältere ASP-Anwendungen, die in Bearbeitung ausgeführt werden.

Von Suchen Sie den Namen des ASP.NET-Prozesses


1

Sie müssen den Internetinformationsdienst auch über Systemsteuerung> Verwaltung öffnen. Klicken Sie mit der rechten Maustaste auf die betreffende Website, klicken Sie auf die Registerkarte Ausgangsverzeichnis und klicken Sie auf die Schaltfläche Konfiguration. Dadurch wird ein neues Formular mit drei Registerkarten geöffnet. Klicken Sie auf das Debugging-Formular und wählen Sie die beiden Optionen im Abschnitt Debugging-Flag aus. Dies ist auch zum Debuggen erforderlich.


2
Dies ist nur zum Debuggen von ASP-Code erforderlich. ASP.NET, ISAPI, ... und alle anderen Mittel der Code hinzufügen kann nicht dies erfordern.
Richard

0

Die Verwendung eines Plugins zum Anhängen an IIS ( VS2015 , VS2017 ) spart einige Klicks - insbesondere, wenn es sich um ein Ökosystem von IIS-gehosteten Sites handelt (z. B. ein Frontend mit mehreren Backend-Diensten).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.