vs2008 调试js
面对一大段的JavaScript脚本,以前总是会很头疼,找不到调试这些代码的方法。如果出现什么错误或异常,总是要从头分析,然后插入很多Alert(),调试起来很麻烦。
Visual Studio 2008中JavaScript所具有的另外一个特性,是它提供了更加强大的JavaScript调试功能,这使得JavaScript的使用及构建AJAX应用都变得容易很多。同样,这项功能在免费的Visual Web Developer Express版本中和Visual Studio中都具有。
在ASP.NET页面中设置JavaScript断点
在Visual Studio 2005中调试JavaScript有个很让人头痛的问题,那就是要先运行ASP.NET页面才能在调试器中设置JavaScript断点。而这个问题在Visual Studio 2008有了很好的解决。在服务器的.asp文件和.master文件中就可以直接为客户端的JavaScript设计断点,从而进行调试。
如果开发人员在.aspx文件中设置了如上所示的断点,当在浏览器中运行此页面并运行此页面时,Visual Studio 2008将会自动的将断点位置匹配到所生成的客户端HTML页面中去。
如果开发人员在HTML文档中对断点的位置进行了变化,如增加、删除断点或是移动断点的位置,此时,Visual Studio 2008会很聪明的进行反匹配,即根据客户端HTML文档中断点位置的变化来改变服务器端原始的.aspx文件或.master文件中断点的位置。这就为开发人员提供了一个非常智能的调试器,可以进行一整套的编辑—调试—再编辑—再调试的可叠加的调试工作流程。
更加让人激动的是,开发人员不仅可以在客户端的JavaScript中设置断点,还可以同时在VB或C#等服务器端文件中设置断点,甚至是在同一页面中。然后使用单一调试模型进行服务器端与客户端代码的调试(当然这必须属于同一个会话)。这样的单一调试模式在AJAX大型应用中非常有用的。
请注意,开发人员所设置的任何断点,在关闭整个项目或是解决方案后,Visual Studio 2008都会默认的进行保存。当下次再次打开此工程或是项目是,以前设置的断点都将会存在代码中。
解决方案管理器中的Script Document导航
就一般而言,JavaScript在服务器端动态的生成,然后被浏览器进行解释运行(例如,用脚本写成的服务器端控件,如ASP.NET AJAX UpdatePanels)。而在调试时,可以很容易的查看到页面所正在加载的JavaScript的URLs,以及调试器下步所要进入的URL。
在Visual Studio 2008中,由于将Script Document功能整合到了Visual Studio 2008的解决方案管理器视图中来了(在Visual Studio 2005中是作为一个单独的tool-pane窗口存在的),所以在调试Web应用程序时,这显得非常的有帮助。
当使用Visual Studio 2008来调试JavaScript时,在Solution explorer pane中可以查看到调试页面所加载的script URLs清单,如下图所示:
开发人员可以双击Script Documents节点下面的任何script URLs来查看此页面所加载的JavaScript内容,从而开发人员可以在此打开的JavaScript文档设置断点进行调试,如下图所示:
丰富的查看/定位及可视化支持
当然,JavaScript的易于打开及导航当然是优良调试器的特征之一。而真正使Visual Studio 2008变成独特的JavaScript调试的特点是,它支持对象的执行及监视功能。当开发人员在Visual Studio 2008中对某一变量进行调试监视时,可以查看到此变量对象非常详细有用的信息,如下图所示:
开发人员可以查看运行时状态对象的所在方法、所有事件。可以获得更多的关于此对象的详细属性及属性类型。当然,开发人员可以在此面的网格中查看对象的相关信息,还可以在即时窗口中运行代码来查看相关信息。
除此之外,Visual Studio 2008还支持可插入可视化调试。它可以提供一般调试器之外的额外信息,从而使调试器对被调试对象提供更加丰富的可视化视图。例如,可以使用Visual Studio 2008内建的”Text”、”XML”或是”HTML”等可视化工具来加载新窗口,从而为被监视的变量提供更加详细的信息。
作者:水木