Невозможно отладить JavaScript в браузере в Visual Studio 2017 или 2019 - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь отладить веб-приложение с некоторыми компонентами ASP.NET (vbhtml) и некоторыми более обычными битами HTML5.Он был построен несколько лет назад и широко использует Knockout.Некоторые из этих частей сломаны, и я пытаюсь их отладить.

Проект включает в себя API (WebAPI 2) и некоторые другие вещи.Нелегко отделить части HTML5 и отладить их с помощью VSCode, поэтому я думаю, что застрял с использованием Visual Studio.

За несколько минут два дня назад я смог установить точки останова, шаг за шагомкод Javascript и найти одну проблему.Я не уверен, что я сделал правильно.С тех пор я не смог отладить компоненты Javascript.Я пытался использовать Visual Studio 2017 и 2019.

Я провел отладку с выбранным Chrome и включенной отладкой сценариев.Как только браузер запустился, точка останова получила желтый флажок на левой стороне, который показывал сообщение: точка останова в настоящее время не будет достигнута.Точка останова установлена, но еще не связана.

Браузер работал нормально, но точка останова не была достигнута.Когда окно проверки было открыто, я мог видеть некоторые вещи, но ничего не происходило.

Я установил новую запись «Обзор с» в Visual Studio.Я выбрал chrome.exe и добавил --remote-debugging-port = 9222 в поле Аргументы.Сохранил его и начал отлаживать.После открытия браузера я получил всплывающее сообщение об ошибке: «Невозможно подключиться к процессу времени выполнения, время ожидания превышает 10000 мс - (причина: невозможно подключиться к цели: подключиться ECONNREFUSED 127.0.0.1:51772).

Каждый разэто происходит, я получаю другой номер порта в конце.Когда я нажимаю кнопку ОК, отладка останавливается, и окно браузера закрывается.Я абсолютно уверен, что Chrome закрывается перед началом отладки, чтобы запускать пакетный файл, который убивает все процессы Chrome.

После дополнительного поиска я выбрал конфигурацию отладки Chrome, а затем «Отладка | Запустить без отладки».Хром запустился нормально.Затем я выбрал «Присоединить к процессу» и выбрал процесс.Все выглядело хорошо, но точка останова снова стала неактивной с сообщением «точка останова в настоящий момент не будет нажата».

Я попытался добавить «отладчик»;записи в коде.VS 2019 жалуется на них, и они не имеют никакого эффекта.

Если я попробую отладку с IE11 и получу аналогичные результаты.Иногда я получал сообщение о том, что другой отладчик уже подключен, хотя я ранее убил Chrome.

Я в растерянности.Любые подсказки будут высоко оценены.

Роб

1 Ответ

0 голосов
/ 14 июня 2019

Проблема была определенно в конфигурации пакета. В моем случае это файл с именем BundleConfig.vb. Похоже, что он объединяет файлы JavaScript и css, чтобы ускорить загрузку сайта, а не загружать каждый из файлов в виде отдельного HTTP-запроса.

Мой файл начинается так:

Imports System.Web.Optimization
Public Module BundleConfig
    ' For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    Public Sub RegisterBundles(ByVal bundles As BundleCollection)
        bundles.Add(New ScriptBundle("~/bundles/jquery").Include(
                   "~/Scripts/jquery-3.4.1.min.js",
                   "~/Scripts/jquery-ui-1.12.1.js"))

и заканчивается так:

       BundleTable.EnableOptimizations = False  'Commented out 190601 to debug scripts
        'BundleTable.EnableOptimizations = True
    End Sub
End Module

Если EnableOptimization имеет значение True, вы не сможете отлаживать любой из JavaScript с помощью Visual Studio или инструментов отладки в Chrome или IE. Закомментируйте это, и отладка станет возможной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...