it-swarm.com.de

Wie debuggen Sie den klassischen ASP?

Ich muss eine klassische Asp-Site debuggen, die von IIS 7 (Windows 2008) bedient wird.

Wie kann ich das machen? Ich habe nur mit ASP.NET gearbeitet.

25
Ronnie Overby

Aus einem MSDN-Blogeintrag: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

So machen Sie das Debuggen von ASP:

  1. Aktivieren Sie das Debuggen von ASP auf dem Server. (Ich habe der asp-Erweiterung auch ein DEBUG-Verb hinzugefügt, bin mir aber nicht sicher, ob es erforderlich ist). 
  2. Öffnen Sie den Klassiker ASP in VS 2005. 
  3. Haltepunkt setzen 
  4. Seite im Browser anzeigen oder ohne Debugging ausführen. 
  5. Debuggen | An Prozess anhängen 
  6. Suchen Sie den Arbeitsprozess IIS ASP (w3wp.exe auf IIS6), der x86 und Script verfügbar macht, und fügen Sie ihn als Script hinzu.

Von eddiegroves Kommentar unten:

Zu Schritt 1 in IIS7 - IIS> ASP> Compilierung> Debugging-Eigenschaften> Serverseitiges Debugging aktivieren 

40
Alex Black

Ich weiß, das ist alt, aber ich dachte, ich würde antworten, um anderen zu helfen, da ich etwas anderes gesucht habe.

Sie können Visual Studio zum Debuggen von Classic ASP verwenden.

Wenn Sie eine lokale IIS-Kopie ausführen, hängen Sie einfach den Debugger an den Prozess w3wp.exe an, und Sie können Haltepunkte setzen, Variablen für Überwachungsfenster hinzufügen usw.

Wenn Sie mehr als eine Website haben, ist es hilfreich, jede in einem separaten Anwendungspool auszuführen, und Sie können einen anderen Prozess w3wp.exe im Prozess "Prozess anhängen" identifizieren.

Wählen Sie einfach "script" als Debugger-Typ. Wenn Sie IISExpress ausführen, ist der Prozess iisexpress.exe der richtige, um eine Verbindung herzustellen.

6
LarryBud

Ich habe festgestellt, dass eine nützliche Einstellung zum Aktivieren auf Serverebene unterASP> Compilation > Debugging-Eigenschaften > Fehler an Browser senden gefunden wird. Setzen Sie das auf "True".

Dies ist möglicherweise nicht unter allen Umständen angemessen (z. B. für eine Website, auf die über das Internet zugegriffen werden kann).

3
Kenny Evitt

Klassisch gebaut ASP Das Debuggen ist ziemlich schlecht. Ich habe dies zusammengestellt ASP Include-Klasse, die mit Firebug + FirePHP funktioniert. Sie können damit Werte (einschließlich Zeichenfolgen, mehrdimensionalen Arrays und sogar mit json.asp erstellte Objekte) in der Firebug-Konsole protokollieren und die in ASP enthaltenen Sammlungsobjekte anzeigen, die hilfreich sein können (insbesondere bei Ajax, ohne das Sie keine Debug-Daten ausgeben können.) Unterbrechung der Json-Antwort.) Ladezeiten und Fehler des Ajax-Skripts werden automatisch protokolliert, um eine schnelle Anzeige zu ermöglichen.

https://github.com/dmeagor/ClassicASP-FirePHP

Freigegeben unter MIT Open Source-Lizenz

2
David Meagor

Ich verwende das folgende (was ich von irgendwo online bekam), um in eine Protokolldatei zu schreiben. Ich würde eine Methode bevorzugen, direkt in Firefox oder Chrome auf Console zu schreiben, aber das funktioniert für mich ziemlich gut.

HINWEIS: "Zeitstempel" ist eine benutzerdefinierte Funktion von mir. Sie können wahrscheinlich erraten, was es tut, und wahrscheinlich selbst rollen. ;-)

function error_log( message )
    dim objFSO, objLog
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objLog = objFSO.OpenTextFile( "ASP_errors.log", 8, true)
    objLog.WriteLine "[" & timestamp & "] VBS Message: " & message
    objLog.close
    set objLog = nothing
    set objFSO = nothing
end function
1
Stephen R

So habe ich es herausgefunden: 

Setzen Sie einen Stopp (Write Stop) an der Stelle, an der Sie den Debug-Punkt erreichen möchten. Führen Sie dann die Anwendung im Browser aus. Wenn die Ausführung stoppt, wird das Debug-Popup-Fenster mit der Frage "Debuggen mit Visual Studio" geöffnet (eine VS-Version muss installiert sein). Dann wird gefragt, ob der Prozess angehängt werden soll, und Sie können mit f10 und f11 schrittweise hin und her gehen. Sie können die Daten mit add watch anzeigen.

1
M A P
  1. Hosten Sie Ihre Site auf IIS Server.
  2. aktivieren Sie den Remote-Debugger auf IIS Server. ( diesem Tutorial folgen )
  3. importieren Sie den Quellcode in Visual Studio.
  4. remote Debugging-Tool von hier installieren
  5. Wählen Sie im Remote-Debugging-Tool Tools -> Optionen -> Keine Authentifizierung für alle Benutzer aus.
  6. Gehen Sie zu Visual Studio und verbinden Sie es mit dem Prozess w3wp.exe.
  7. wenn Sie den Prozess nicht sehen können (w3wp.exe). Öffnen Sie den Website-Link im Browser, und wählen Sie für alle Benutzer die Option show.. Jetzt können Sie den Vorgang sehen und anhängen.
  8. Vergessen Sie nicht, einen Debugger in die Anwendung einzufügen :-)
0
hari