2013-11-04 3 views

Antwort

2

Ich habe keine Visual Studio 2012 es so weit zu testen auf, wie ich Visual Studio wissen kann nativ nicht Debug-asp classic-Code. Die Art und Weise, wie ich meinen asp classic-Code debugge, besteht darin, stop-Anweisungen in die Zeile oberhalb der Zeile einzufügen, die ich debuggen möchte like this post says. Der Haltepunkt ist nur in Stop eingeben.

function DoDate(inp) 
    stop 
if isnull(inp) then 
    DoDate = "Never" 
    exit function 
end if 

Im obigen Beispiel wird die Seite, wenn an dem Haltepunkt stoppt geladen und fragt ein Dialogfenster, wenn Sie es debuggen mögen, können Sie dann durch die Funktion treten können und auch Variablen wie gewohnt sehen.

Hinweis: Der Link sagt Visual Studio 2005, aber es funktioniert auch in 2010 (und sollte auch in 2012 arbeiten), Sie brauchen auch nicht die Erweiterung DEBUG.

auch sicherstellen, dass Sie serverseitigen Debuggen in IIS aktiviert haben, oder dies wird nicht funktionieren.

+3

VS2012 kann klassischen ASP Debug-Code nativ sowohl Vollfett- IIS und IIS Express. – Kev

+0

@ user2255811 Ihre Antwort hat mich gerettet, ich habe viel Zeit damit verbracht zu arbeiten. Endlich, Stop mach einen Trick. Danke – Smaug

7

Zuerst müssen Sie das serverseitige Debuggen des klassischen ASP-Skripts aktivieren. Tun Sie dies, indem Sie die folgenden Befehle ausführen:

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True" /commit:apphost 

Wo [YOUR_SITE_NAME] der Name Ihrer Website ist. Sie können diesen Namen finden, indem Sie öffnen:

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config 

... und auf der Suche nach Ihrer Website.

nächstes eine IIS Express-Instanz von der Kommandozeile starten:

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:c:\users\kevin\Documents\IISExpress\config\applicationhost.config /site:"[YOUR_SITE_NAME]" /apppool:"Clr2IntegratedAppPool" 

Wieder [YOUR_SITE_NAME] der Name Ihres IIS Express Website.

Anschließend hängen Sie den Debugger von Visual Studio 2012 an und legen einen Haltepunkt im Skript fest, das Sie debuggen möchten. Wechseln Sie zu Ihrer Website/script und Du soll den Breakpoint Licht sieht bis:

enter image description here

+0

Ihre Antwort ist sehr detailliert und hilfreich. Aber wenn ich den IISExpress anschließe, wird nur ein leerer Bildschirm angezeigt, der die Dateien nicht zum Debuggen bringt. Wenn ich in asp-Programmierung stoppe, lud es alle Dateien zum Debuggen. Bitte geben Sie an, was der Grund für dieses seltsame Verhalten ist? – Smaug

+0

Haben Sie das Skript, das Sie debuggen möchten, zu Ihrer Lösung hinzugefügt? Sie müssen das tun und einen Haltepunkt setzen. – Kev

+0

+1 Das hat funktioniert! ... Für eine kleine Menge der ASP-Dateien meines Projekts/meiner Site. Können Sie sich [diese Folgefrage] (http://stackoverflow.com/q/38937879/2662901) ansehen? – feetwet

0

Ich mag mit Full-geblasenen IIS auf meiner dev Maschine, wie sie was Server meines Web sind laufen und haben Probleme mit den Unterschieden zwischen Casini hat und IIS in der Vergangenheit.

Wie auch immer, ich war nicht in der Lage, es zu tun, wie @Kev vorgeschlagen. Ich habe etwas mehr herumgelesen + gelesen und festgestellt, dass im "Attach To Process" -Fenster, "Script Code" in der "Attach To:" Option ausgewählt werden muss.

1) F9 to set breakpoints in code 
2) Ctrl-Alt-P to attach to process 
3) Next to "Attach To:" click on the "Select" button 
4) Select "Script Code" 
5) In my case, attach to "w3wp.exe" 

Viel Spaß beim Debuggen Ihres Codes.

+0

Hallo, ich habe das versucht - und obwohl es an meinen Haltepunkten stoppt, kann ich die Werte von nichts sehen. Die Maus über eine der Variablen zu setzen, tut nichts. Irgendwelche Vorschläge? Dies ist auf IIS 8.5 (win 8.1) und vs 2012. – merk

+0

Hmmm .... Ich habe das nicht vorher gesehen .. gelegentlich hat die ide Probleme wie wo Sie die Maus über und sehen keine Werte. Dies wird normalerweise behoben, indem Sie die Maus von Ihrer Variablen weg und dann zurück bewegen. Ansonsten können Sie das Überwachungsfenster oder das Direktfenster verwenden. Nicht ganz so praktisch, aber in der Regel immer noch praktikabel. oder sogar Strg-F9 (??) für Quick Watch. – Ads

+1

Versuchen Sie, die Variable hervorzuheben (doppelklicken Sie darauf, um sie hervorzuheben) und bewegen Sie den Mauszeiger darüber. Ich dachte auch, ich könnte nicht über Variablen schweben und ihre Werte sehen, aber dann habe ich markiert (wählte den Text mit der Maus) und schwebte darüber und es hat funktioniert. – Lee

1

Zum IIS -> ASP -> Eigenschaften Debuggen -> aktivieren Client- und Server-Seite Debuggen

dann befestigen w3wp Prozess von VS2012

Verwandte Themen