Как вы отлаживаете классический ASP? - PullRequest
26 голосов
/ 16 июля 2009

Мне нужно отладить классический asp-сайт, обслуживаемый IIS 7 (windows 2008).

Как я могу это сделать? Я работал только с ASP.NET.

Ответы [ 7 ]

42 голосов
/ 16 июля 2009

Из сообщения в блоге MSDN: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

Вот как заставить работать отладку ASP:

  1. Включить отладку ASP на сервере. (Я также добавил глагол DEBUG в расширение asp, но я не уверен, требуется ли это).
  2. Открыть классический ASP в VS 2005.
  3. Установить точку останова.
  4. Просмотр страницы в браузере или запуск без отладки.
  5. Отладка | Присоединить к процессу
  6. Найдите рабочий процесс IIS ASP (w3wp.exe на IIS6), который предоставляет x86 и Script, и присоедините его как Script.

Из комментария eddiegroves ниже:

Относительно шага № 1 в IIS7 - IIS> ASP> Компиляция> Свойства отладки> Включить отладку на стороне сервера

7 голосов
/ 20 февраля 2013

Я понимаю, что это старо, но подумал, что отвечу, чтобы помочь другим, так как я искал что-то еще.

Вы можете использовать Visual Studio для отладки Classic ASP.

Если вы используете локальную копию IIS, просто присоедините отладчик к процессу w3wp.exe, и вы можете установить точки останова, добавить переменные для просмотра окон и т. Д.

Если у вас более 1 веб-сайта, полезно запустить каждый из них в отдельном пуле приложений, и вы сможете определить различные процессы w3wp.exe в окне «Присоединить процесс».

Просто выберите «скрипт» в качестве типа отладчика. Если вы используете IISExpress, то процесс iisexpress.exe является правильным для присоединения.

4 голосов
/ 24 июля 2013

Я обнаружил, что полезный параметр для включения находится на уровне сервера в ASP > Компиляция > Свойства отладки > Отправить ошибки Для браузера . Установите для этого параметра значение «True».

Это может не подходить при любых обстоятельствах (например, для сайта, доступного через Интернет).

2 голосов
/ 31 января 2018

Я использую следующее (которое я получил откуда-то онлайн) для записи в файл журнала. Я бы предпочел метод для прямой записи в консоль в Firefox или Chrome, но он мне подходит.

ПРИМЕЧАНИЕ. «Метка времени» - моя пользовательская функция. Вы, вероятно, можете догадаться, что он делает, и, вероятно, свернуть свой собственный. ; -)

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
2 голосов
/ 20 декабря 2011

Встроенная классическая ASP отладка довольно скудная. Я собрал этот класс ASP, который работает с Firebug + FirePHP. Это позволяет вам записывать значения (включая строки, многомерные массивы и даже объекты, созданные с помощью json.asp) в консоль Firebug и просматривать встроенные объекты коллекции ASP, которые могут помочь (особенно в Ajax, где вы не можете выводить данные отладки без нарушение ответа json.) Время загрузки и ошибки Ajax-скрипта автоматически регистрируются для быстрого просмотра.

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

Выпущено по лицензии MIT с открытым исходным кодом

1 голос
/ 19 января 2017

Вот как я это понял:

Поставьте остановку (остановка записи) на том месте, где вы хотите достичь точки отладки. Затем запустите приложение в браузере. Когда выполнение останавливается, открывается всплывающее окно отладки с просьбой выполнить отладку в Visual studio (должна быть установлена ​​версия VS). Затем он попросит присоединить процесс, и вы можете использовать f10, f11, чтобы пройти шаг за шагом. Вы можете просмотреть данные, используя add watch.

0 голосов
/ 03 мая 2018
  1. разместить свой сайт на сервере IIS.
  2. включить удаленный отладчик на сервере IIS. ( следуйте этому руководству )
  3. импорт исходного кода в visual studio.
  4. установить инструмент удаленной отладки из здесь
  5. В инструменте удаленной отладки выберите Инструменты-> Параметры -> Без аутентификации для всех пользователей.
  6. Перейдите в visual studio и прикрепите к процессу w3wp.exe.
  7. если не вижу процесса (w3wp.exe). Откройте ссылку на сайт в браузере и выберите шоу для всех пользователей. Теперь вы сможете увидеть процесс и присоединиться.
  8. Не забудьте поставить в приложение отладчик: -)
...