2009-07-16 34 views

risposta

34

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

Ecco come far funzionare il debug ASP:

  1. attivare 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 | Allegare al processo
  6. Individuare il processo di lavoro ASP di IIS (w3wp.exe su IIS6) che espone x86 e Script e allegare come Script.

Da eddiegroves commento qui sotto:

Per quanto riguarda Passo # 1 in IIS7 - IIS> Debug ASP> Compilation> Debugging Proprietà> Enable Server-side

+6

Passo 1: abilitare il debug ASP sul server ..... COME FATE QUELLO ?! –

+3

Non lo so. Ma il primo successo di Google sembra promettente: http://technet.microsoft.com/en-us/library/cc738693(WS.10).aspx –

+0

Farò un tentativo. Grazie. –

2

Costruito in ASP classico il debug è piuttosto scarso. Ho messo insieme questa classe 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 MIT open source

+0

Questa è la soluzione migliore che ho visto finora! Grazie! Ci è voluto un po 'per capire che "" ha bisogno di aggiungere a firedebug.inc o ad ogni file insieme a "" ma una volta risolto è stato un incantesimo! – GazB

+3

Forse questo aiuterà. Prova Team Remote ASP Debugger (http://www.remotedebugger.com). Ho fatto il debugging del classico ASP per anni. –

+0

Mi piacerebbe molto che funzioni, ma ricevo un errore non appena provo a chiamare "log": "Tipo non corrispondente: 'toJson' /lib/asp/ClassicASP-FirePHP/1.2/firedebug.inc, riga 72' . Funziona ancora nel mondo post-Firebug? Funziona nella console FF/Chrome standard? –

5

Mi rendo conto che è vecchio, ma ho pensato di aiutare gli altri rispondo in quanto stavo cercando qualcosa di diverso su.

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

Se si sta eseguendo una copia locale di IIS, basta connettere il debugger al processo w3wp.exe ed è possibile impostare i punti di interruzione, aggiungere le variabili a guardare le finestre, ecc

Se si dispone di più di 1 siti web , è utile eseguire ciascuno in un pool di applicazioni separato e sarà possibile 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.

3

Ho scoperto che un ambiente utile per consentire si trova a livello del server sotto ASP>Compilation>Proprietà di debug>Invia errori al browser. Impostalo su "True".

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

+0

È necessario eseguire questa operazione ma inviare gli errori a un file di registro? –

+1

@BenjaminGoodacre In IIS 7.5, è presente un'impostazione a livello di server nella sezione * ASP * denominata * Abilita richieste di errore registro * e la descrizione è "Controlla se il server Web scrive errori ASP nella sezione applicazioni del registro eventi di Windows. per impostazione predefinita vengono scritti errori nel browser client e nei file di registro di IIS. ". Quindi gli errori dovrebbero già essere registrati da IIS. –

0

Questo è il modo in cui ho capito:

porre fine (stop scrittura) sul luogo in cui si vuole 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 allegare il processo e puoi usare f10, f11 per andare avanti e indietro. Puoi vedere i dati usando aggiungi watch.

0

Io uso il seguente (che ho ottenuto da qualche parte online) per scrivere in 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 funzione personalizzata della mia. 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 
Problemi correlati