#visual-studio #debugging #asp-classic
#visual-studio #отладка #asp-классический
Вопрос:
Мне нужно отладить классическое приложение asp, и я испытываю странное поведение.
Это моя настройка:
- имя сайта: loc.testsite.com
- папка веб-сайта: d:loc.testsite.com
- запись в hosts: 192.168.1.11 loc.testsite.com
- iis:
- Включить отладку на стороне клиента: верно
- Включить отладку на стороне сервера: верно
- Отправка ошибок в браузер: true
Страницы:
default.asp
<!--#include file="include.asp" -->
<%
main
function main()
stop
f1()
dim x
x = 1
end function
%>
включить.asp
<%
function f1()
dim a
a = 1
end function
%>
Когда я открываю loc.testsite.com в моем браузере отображается запрос на запуск отладчика из-за инструкции stop в default.asp.
Запускается Visual Studio, и я вижу код default.asp.
Я начинаю отладку с «step into» (F11 в среде по умолчанию) и ввожу include.asp.
Я вижу код include.asp, теперь я в f1 (), поэтому я продолжаю переходить к «end function«.
Теперь я должен вернуться к default.asp в строке «x = 1«, но вместо этого я вижу это сообщение: «Невозможно открыть документ сценария».
После того, как я нажму OK, появится сообщение «Default.asp не найден».
Я часто отлаживаю классический код asp и никогда не сталкивался с этой проблемой; это происходит уже около месяца.
Я попробовал на двух разных машинах с тем же результатом.
Visual Studio обновлена до версии 16.7.6.
Комментарии:
1. Честно говоря, я никогда не использовал VS для отладки классического ASP. Не гарантировал бы, что VS будет поддерживать либо, поскольку классические ASP / VBScript на данный момент довольно древние.
2. @Lankymart какой инструмент вы используете для отладки ASP Classic? Я также использую только VS для целей отладки, начиная с версии VS.NET 2002 год
3. @Zam просто отладочные флаги в коде и
Response.Write
операторах вместе с пользовательскойdebug()
функцией, которая будет выводить информацию на экран, включая содержимое массивов в виде таблиц. Хорошо служил мне годами.4. Я отлаживаю classic asp в каждой версии VS с 2010 года. Никаких проблем.
5. @LarryBud Вы пытались перейти на включенную страницу с 16.7.0 ? Что происходит, когда вы должны вернуться на страницу вызова? В сообществе Delevoper другой пользователь сообщил о той же проблеме. ( developercommunity.visualstudio.com/content/problem/1231866 /… )
Ответ №1:
ОБНОВЛЕНИЕ 03/03/2021
Исправление этой ошибки доступно в Visual Studio 2019 16.9.
ОБНОВЛЕНИЕ 28/12/2019
Microsoft исправила это. Надеюсь, обновление для Visual Studio будет доступно в ближайшее время (подробности здесь).
ОРИГИНАЛЬНЫЙ ОТВЕТ
После некоторых исследований выясняется, что такое поведение связано с ошибкой в Visual Studio. Я установил несколько разных версий, и вот что я нашел:
- версия 16.0.19: ошибка отсутствует
- версия 16.5.5: ошибка отсутствует
- версия 16.6.5: ошибка отсутствует
- версия 16.7.0: первая версия с ошибкой
- версия 16.7.6: ошибка все еще присутствует
- версия 16.8 предварительный просмотр 5: ошибка все еще присутствует
Я отправил сообщение об ошибке в сообщество разработчиков Microsoft (подробности здесь).
Тем временем я установил версии v.16.7.6 и v.16.6.5 параллельно (см. Здесь, Раздел «Установка дополнительных версий Visual Studio параллельно»).