2013-11-04 26 views

risposta

2

non ho Visual Studio 2012 al testarlo su quanto ne so Visual Studio non può eseguire il debug ASP classico codice nativo. Il modo in cui eseguo il debug del mio codice asp classic è di inserire istruzioni di arresto sulla riga sopra quella che si desidera eseguire il debug like this post says. il punto di interruzione è semplicemente digitando stop.

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

Nell'esempio precedente pagina quando caricata si ferma al punto di interruzione e apparire una finestra di dialogo che chiede se si desidera eseguire il debug di esso, è possibile scorrere la funzione e anche vedere le variabili, come si farebbe normalmente.

nota: il collegamento dice Visual Studio 2005 ma funziona anche nel 2010 (e dovrebbe funzionare anche nel 2012), inoltre non è necessaria l'estensione DEBUG.

assicurati inoltre di avere il debug del lato server attivato in IIS, altrimenti non funzionerà.

+3

VS2012 può eseguire il debug di codice nativo Classic ASP utilizzando sia pieno di grasso IIS e IIS Express. – Kev

+0

@ user2255811 La tua risposta mi ha salvato, ho passato molto tempo a farlo funzionare. Finalmente, Stop fa un trucco. Grazie – Smaug

7

Prima di tutto è necessario abilitare il debug sul lato server del classico script ASP. A tale scopo, eseguendo i seguenti comandi:

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

Dove [YOUR_SITE_NAME] è il nome del tuo sito web. Puoi trovare questo nome aprendo:

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

... e cercando il tuo sito.

Avanti, avviare un'istanza di IIS espresso dalla riga di comando:

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

Anche in questo caso, [YOUR_SITE_NAME] è il nome del tuo sito web IIS Express.

Quindi collegare il debugger di Visual Studio 2012 e impostare un punto di interruzione nello script che si desidera eseguire il debug. Sfoglia al tuo sito/script e la vostra dovrebbe vedere la luce breakpoint up:

enter image description here

+0

La tua risposta è molto dettagliata e utile. Ma quando collego IISExpress mostra solo una schermata vuota, che non porta i file per il debug. Se metto stop in asp coding ha caricato tutti i file per il debug. Si prega di avvisare qual è la ragione di questo strano comportamento? – Smaug

+0

Hai aggiunto lo script che desideri eseguire il debug alla tua soluzione? È necessario farlo e impostare un punto di interruzione. – Kev

+0

+1 Questo ha funzionato! ... Per un piccolo insieme di file ASP del mio progetto/sito. Puoi dare un'occhiata a [questa domanda di follow-up] (http://stackoverflow.com/q/38937879/2662901)? – feetwet

0

Mi piace usare IIS in piena regola sulla mia macchina dev come è quello che i miei web server correre e hanno avuto problemi con le differenze tra Casini e IIS in passato ..

In ogni caso, non ero in grado di farlo come suggerito da @Kev. Ho fatto un po 'di più giocando + lettura e ho trovato che nella finestra "Allega al processo", è necessario selezionare specificamente "Codice script" nell'opzione "Allega a:".

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" 

Godetevi il debug del codice.

+0

Ciao, ho provato questo - e mentre si ferma ai miei punti di interruzione, non riesco a vedere i valori di nulla. Mousing su nessuna delle variabili non fa nulla. Eventuali suggerimenti? Questo è su IIS 8.5 (win 8.1) e sul 2012. – merk

+0

Hmmm .... Non l'ho visto prima .. occasionalmente l'ide ha problemi come il passaggio del mouse e non vedere valori. questo di solito viene risolto spostando il mouse dalla variabile e quindi indietro. Oltre a questo, è possibile utilizzare la finestra di controllo o la finestra Immediata. Non è altrettanto comodo, ma di solito è ancora praticabile. o anche Ctrl-F9 (??) per Quick Watch. – Ads

+1

Prova a evidenziare la variabile (fai doppio clic su di essa per evidenziarla) e quindi passa il mouse sopra di essa. Ho anche pensato che non potevo passare il mouse sopra le variabili e vedere i loro valori, ma poi ho evidenziato (selezionato il testo con il mouse), l'ho passato sopra e ha funzionato. – Lee

1

Vai a IIS -> ASP -> Debug Proprietà -> abilitare lato client server e il debug

quindi collegare w3wp processo dal VS2012