Поделиться через


Ограничения на отладку скриптов

Visual Studio поддерживает отладку клиентского скрипта с некоторыми ограничениями, которые описаны в этом разделе.

Ограничения на сопоставление точки останова с клиентским скриптом

Visual Studio позволяет установить точку останова в ASPX-файле или HTML-файле на стороне сервера, который преобразуется в файл на стороне клиента во время выполнения. Visual Studio сопоставляет точку останова в файле на стороне сервера с соответствующей точкой останова в файле на стороне клиента с учетом следующих ограничений.

  • Точки останова должны быть установлены внутри блоков <script>. Невозможно сопоставление точек останова во встроенном скрипте или блоках <% %>.

  • URL-адрес браузера для страницы должен содержать имя страницы. Например: https://microsoft.com/default.apsx. При сопоставлении точек останова невозможно распознать перенаправление с адреса, такого как https://microsoft.com, на страницу по умолчанию.

  • Точка останова должна быть задана на странице, указанной в URL-адресе браузера, а не в файле (ascx) элемента управления ASPX, эталонной странице или другом файле, включенном в эту страницу. Точки останова, установленные во включенных страницах, не могут быть сопоставлены.

  • Невозможно сопоставление точек останова, установленных в блоках <script defer=true>.

  • При сопоставлении точек останова, установленных в блоках <script id="">, игнорируется атрибут id.

Сопоставление точек останова и повторяющиеся строки

Производя поиск соответствующего расположения в серверном и клиентском скриптах, алгоритм сопоставления точек останова проверяет каждую строку кода. Каждая строка рассматривается алгоритмом как уникальная. Если несколько (две и больше) строк содержат одинаковый код и точка останова установлена на одной из этих повторяющихся строк, алгоритм сопоставления точек останова может выбрать неверную дублирующую строку в клиентском файле. Во избежание этого к строке, где установлена точка останова, необходимо добавлять комментарий. Например:

i++ ;
i ++; // I added a comment, so this line is now unique
i ++;