脚本调试的限制

Visual Studio 支持对客户端脚本进行调试,但受约于本主题中介绍的限制。

客户端脚本断点映射的限制

Visual Studio 使您能够在服务器端 ASPX 或 HTML 文件设置断点,该文件在运行时转换至客户端文件。 Visual Studio 将断点从服务器端文件映射到客户端文件中的相应断点,前提是遵照以下限制:

  • 断点必须设置在 <script> 块内部。 如果断点位于内联脚本或 <% %> 块中,则无法进行映射。

  • 页的浏览器 URL 必须包含页名称。 例如 https://microsoft.com/default.apsx。 断点映射无法识别从类似 https://microsoft.com 的地址到默认页的重定向。

  • 断点必须设置在由浏览器 URL 指定的页内,而不能设置在该页包括的 ASPX 控件 (ascx) 文件、母版页或其他文件中。 如果将断点设置在包括的页中,将无法进行映射。

  • 如果将断点设置在 <script defer=true> 块中,将无法进行映射。

  • 对于设置在 <script id=""> 块中的断点,断点映射将忽略 id 特性。

断点映射和重复行

为了查找服务器端脚本和客户端脚本中的对应位置,断点映射算法将逐行检查代码。 该算法假定每一行都是唯一的。 如果有两行或更多行包含相同的代码,而断点设置在其中一个重复行上,则断点映射算法可能会在客户端文件中选择错误的重复行。 若要避免这种情况,请向设置了断点的行中添加一条注释。 例如:

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