Как я могу установить точки останова в Classic ASP? (IIS7 / VS2010) - PullRequest
4 голосов
/ 27 января 2011

У меня есть гибридное приложение ASP.NET/classic ASP, и я хотел бы иметь возможность устанавливать точки останова в коде ASP. Это возможно? Запуск IIS7 на Win7 с VS2010 Ultimate.

Ответы [ 4 ]

13 голосов
/ 28 января 2011

В VBScript оператор Stop может использоваться для запуска точки останова.

Response.Write "a line"
Stop
Response.Write "a line after the breakpoint

Я предполагаю, что это локальный экземпляр IIS7, который вы хотите отлаживать. На моем компьютере, когда я пытаюсь загрузить образец страницы с оператором Stop, я получаю всплывающее окно отладчика Visual Studio Just-In-Time. Вам нужно будет предоставить административные привилегии для отладки страницы.

Вам также может понадобиться включить отладку на стороне сервера в апплете «ASP» в IIS Manager, но когда я только что проверил, на моем компьютере для отладки на стороне сервера было установлено значение False.


Если вы не против запустить Visual Studio с правами администратора (или уже делаете это), то вы также можете попробовать следующее:

  1. Используйте команду «Файл -> Открыть веб-сайт ...», чтобы открыть сайт (в разделе «Локальный IIS»).
  2. В обозревателе решений откройте файлы, которые вы хотите отладить, и установите точки останова.
  3. Запустите отладчик, выбрав пункт меню «Отладка -> Присоединить к процессу ...». Выберите процесс "w3wp.exe".
  4. Теперь, когда вы попытаетесь загрузить страницу в браузере, Visual Studio остановится на любых точках останова.

Также обратите внимание, что если вы внесете изменения в страницы, изменения будут сохранены на диск. На работе я использую VS2005 в качестве основного редактора для классического ASP именно потому, что могу легко устанавливать точки останова.


Третий вариант, который я еще не пробовал, может быть недавно выпущенным IIS Express . Предполагается, что он предназначен специально для разработчиков, которые не имеют полных прав администратора, поэтому, возможно, для отладки не потребуется запрос на повышение прав. Я обновлю свой ответ, если у меня будет возможность опробовать его в ближайшие несколько дней.

1 голос
/ 27 января 2011
response.write("my value....")
response.end
;)
0 голосов
/ 04 декабря 2015

Я не уверен, что кто-то сталкивался с этой проблемой или нет.у меня есть asp.net и классическое приложение ASP mix на IIS 7.5 с VS2010.Я выполнял все необходимые шаги для отладки классического ASP, но не повезло.Наконец, выяснилось, что когда мы автоматически подключали W3wp.exe и по умолчанию он подключался с опцией «Автоматически определять тип кода для отладки», и я думаю, что в этом варианте он определял только управляемый код, а не сценарий.Я изменил его, чтобы явно выбрать тип кода для отладки, и выбрал «Скрипт» .. и вау, это сработало.

Еще одна вещь, которая не позволяет мне выбирать управляемый код и скрипт вместе.

0 голосов
/ 10 марта 2015

Я сталкивался с этой ситуацией несколько раз.Это обобщает «типичных подозреваемых».Если вы знаете больше, добавьте, пожалуйста, правку или комментарий.

  1. Убедитесь, что web.config имеет debug = "True"

  2. Убедитесь, чтовы подключаетесь к правильному процессу w3wp.exe

  3. Убедитесь, что в конфигурации пула приложений, связанной с этим сайтом в IIS, для параметра Максимальное количество рабочих процессов установлено значение 1 (см. раздел «Модель процессов»).).

  4. Убедитесь, что конфигурация ASP для сайта в IIS позволяет выполнять отладку клиента и сервера (см. Раздел «Свойства отладки»).

  5. Убедитесь, что machine.config не имеет retail = "True" в теге развертывания.Значение по умолчанию для этого атрибута - false, что разрешит отладку.

- ss

...