Come si esegue il debug di ASP classico?

Devo eseguire il debug di un classico sito ASP servito da IIS 7 (Windows 2008).

Come posso fare questo? Ho lavorato solo con ASP.NET.

Da un post del blog MSDN: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

Ecco come eseguire il debug di ASP:

  1. Abilita il debug ASP sul server. (Ho anche aggiunto il verbo DEBUG sull’estensione asp, ma non sono sicuro che sia necessario).
  2. Apri ASP classico in VS 2005.
  3. Imposta punto di interruzione.
  4. Visualizza la pagina nel browser o esegui senza eseguire il debug.
  5. Debug | Albind al processo
  6. Individuare il processo di lavoro ASP di IIS (w3wp.exe su IIS6) che espone x86 e Script e albind come Script.

Dal commento di eddiegroves qui sotto:

Informazioni sul passaggio 1 in IIS7 – IIS> ASP> Compilazione> Proprietà di debug> Abilita debug sul lato server

Mi rendo conto che è vecchio, ma ho pensato di rispondere per aiutare gli altri da quando cercavo qualcos’altro.

È ansible utilizzare Visual Studio per eseguire il debug di ASP classico.

Se stai eseguendo una copia locale di IIS, collega il debugger al processo w3wp.exe e puoi impostare punti di interruzione, aggiungere variabili a windows di visualizzazione, ecc.

Se si dispone di più di un sito Web, è utile eseguirne ciascuno in un pool di applicazioni separato e sarà ansible identificare il processo w3wp.exe diverso nella finestra Attach Process.

Basta scegliere “script” come tipo di debugger. Se si esegue IISExpress, il processo iisexpress.exe è quello corretto a cui collegarsi.

Ho trovato che un’utile impostazione da abilitare si trova a livello di server in ASP > Compilazione > Proprietà di debug > Invia errori al browser . Impostalo su “True”.

Questo potrebbe non essere appropriato in tutte le circostanze (ad es. Per un sito accessibile a Internet).

Costruito nel classico debug in ASP è piuttosto scarso. Ho messo insieme questa class include ASP che funziona con Firebug + FirePHP. Ti consente di registrare i valori (incluse stringhe, array multidimensionali e persino oggetti creati con json.asp) nella console di Firebug e visualizzare gli oggetti di raccolta integrati di ASP che possono essere di aiuto (in particolare con Ajax in cui non puoi esportare i dati di debug senza interruzione della risposta JSON.) I tempi di caricamento dello script Ajax e gli errori vengono registrati automaticamente per una rapida visualizzazione.

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

Rilasciato sotto licenza open source del MIT

Io uso il seguente (che ho ottenuto da qualche parte online) per scrivere su un file di registro. Preferirei un metodo per scrivere direttamente su Console in Firefox o Chrome, ma questo funziona abbastanza bene per me.

NOTA: “timestamp” è una mia funzione personalizzata. Probabilmente puoi indovinare cosa fa, e probabilmente tira il tuo. 😉

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 

Questo è il modo in cui l’ho capito:

Metti uno stop (stop di scrittura) nel punto in cui vuoi colpire il punto di debug. Quindi eseguire l’applicazione sul browser. Quando l’esecuzione si ferma, si aprirà il pop-up di debug chiedendo di eseguire il debug con Visual Studio (deve essere installata una versione VS). Quindi chiederà di albind il processo e puoi usare f10, f11 per andare avanti e indietro. Puoi vedere i dati usando aggiungi watch.

  1. ospitare il tuo sito sul server IIS.
  2. abilita il debugger remoto sul server IIS ( segui questo tutorial )
  3. importa il codice sorgente in Visual Studio.
  4. installa lo strumento di debug remoto da qui
  5. Nello strumento di debug remoto selezionare strumenti-> opzioni -> nessuna autenticazione per tutti gli utenti.
  6. Vai a Visual Studio e albind al processo w3wp.exe.
  7. se non riesci a vedere il processo (w3wp.exe). Apri il link del sito web nel browser e seleziona Mostra per tutti gli utenti ora sarai in grado di vedere il processo e albind.
  8. Non dimenticare di mettere un debugger nell’applicazione 🙂