Como você depurar ASP clássico?

Eu tenho que depurar um site asp clássico sendo servido pelo IIS 7 (Windows 2008).

Como posso fazer isso? Eu só trabalhei com o ASP.NET.

De uma postagem no blog do MSDN: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

Aqui está como fazer o trabalho de debugging ASP:

  1. Ative a debugging ASP no servidor. (Eu também adicionei o verbo DEBUG à extensão asp, mas não tenho certeza se é necessário).
  2. Abra o ASP clássico no VS 2005.
  3. Definir ponto de interrupção.
  4. Visualize a página no navegador ou execute sem debugging.
  5. Depurar | Anexar ao processo
  6. Localize o processo de trabalho do IIS ASP (w3wp.exe no IIS6) que expõe x86 e Script e anexa como Script.

De eddiegroves comentário abaixo:

Sobre a Etapa 1 no IIS7 – IIS> ASP> Compilação> Propriedades de Depuração> Habilitar Depuração no Lado do Servidor

Eu percebo que isso é velho, mas pensei em responder para ajudar os outros desde que eu estava procurando outra coisa.

Você pode usar o Visual Studio para depurar ASP clássico.

Se você estiver executando uma cópia local do IIS, basta append o depurador ao processo w3wp.exe e definir pontos de interrupção, adicionar variables ​​a janelas, etc.

Se você tiver mais de um website, será útil executar cada um em um pool de aplicativos separado e poderá identificar o processo w3wp.exe diferente na janela Attach Process.

Basta escolher “script” como o tipo de depurador. Se você estiver executando o IISExpress, o processo iisexpress.exe é o correto para append.

Descobri que uma configuração útil para ativar é encontrada no nível do servidor em ASP > Compilação > Propriedades de debugging > Enviar erros ao navegador . Defina isso para “True”.

Isso pode não ser apropriado em todas as circunstâncias (por exemplo, para um site acessível pela Internet).

Construído em debugging ASP clássico é muito pobre. Eu coloquei esta class include ASP que funciona com o Firebug + FirePHP. Ele permite que você registre valores (incluindo strings, arrays multidimensionais e até mesmo objects criados com json.asp) no console do firebug e visualize os objects de coleção incorporados do ASP que podem ajudar (particularmente com o Ajax onde não é possível gerar dados de debugging sem quebrando a resposta json.) Os tempos e erros de carregamento do script Ajax são registrados automaticamente para visualização rápida.

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

Lançado sob licença de código aberto do MIT

Esta é a maneira que eu descobri:

Coloque um stop (write stop) no local onde você deseja atingir o ponto de debugging. Em seguida, execute o aplicativo no navegador. Quando a execução parar, ele abrirá o popup de debugging pedindo para fazer o debug com o Visual Studio (uma versão do VS deve ser instalada). Em seguida, ele vai pedir para append o processo e você pode usar f10, f11 para ir mais e mais. Você pode ver os dados usando add watch.

Eu uso o seguinte (que eu tenho em algum lugar on-line) para gravar em um arquivo de log. Eu preferiria um método para escrever diretamente para o Console no Firefox ou Chrome, mas isso funciona muito bem para mim.

NOTA: “timestamp” é uma function personalizada da minha. Você provavelmente pode adivinhar o que faz e, provavelmente, rolar o seu próprio. 😉

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. hospedar seu site no servidor IIS.
  2. habilite o depurador remoto no servidor IIS ( siga este tutorial )
  3. importe o código fonte para o visual studio.
  4. instalar a ferramenta de debugging remota daqui
  5. Na ferramenta de debugging remota, selecione tools-> options -> no authentication para todos os usuários.
  6. Vá para o visual studio e anexe ao processo w3wp.exe.
  7. se não puder ver o processo (w3wp.exe). Abra o link do site no navegador e selecione show para todos os usuários agora você será capaz de ver o processo e append.
  8. Não se esqueça de colocar um depurador no aplicativo 🙂