为了开发一个项目要进行
javascript
脚本的调试,经过一段时间的摸索,终于实现了在
vs2008
上调试脚本,这里记下了其中的关键步骤:
1.
把
IE
设为默认浏览器。这一步不一定是必须,但建议这样做,可以减少很多麻烦。默认情况下,
vs2008
使用系统默认的浏览器,也可以用以下办法设置
vs2008
使用
IE
浏览器:
打开“解决方案资源管理器”,右键点击一个
aspx
文件,再在右键菜单中选择“浏览方式”
在弹出的窗口中显示系统安装的所有浏览器列表,把“
Internet Explorer
”设为默认值”
。
2.
在
IE
工具的
Internet
选项
->
高级
里把禁用脚本调试和禁用脚本调试(其他)去掉。注意要使用
IE
浏览器,当然如果用火狐浏览器,安装
firebug
等插件也可以调试,但属于另一种做法,不能与
vs2008
集成。
3.
在
VS
里的
工具
->
选项
->
调试
->
实时,把三个脚本选项打勾。
4.
在
vs2008
打开要调试的项目,按
F5
进入调试,如果不行再进入以下步骤。
5. IE
浏览器
查看
->
外部脚本调试程序
->
打开,选“项目名
- Microfost Visual Studio: Visual Studio 2008”,这里的项目名就是你打开的项目名称,即选择当前正在运行的vs2008
实例。
注:
(
1
)要在
vs2008
停止调试,才能在浏览器中看到这个选择。
(
2
)这时也可以选择“新实例
Visual Studio 2008”或“iexplore - Microsoft Visual Studio: Visual Studio 2008”,如果选择第一个,则会启动新的vs2008
程序,如果选择第二个,则使用已由浏览器启动新实例后的
vs2008
。
(
3
)进入
vs2008
后,可打开相应的文件设置断点,进行调试。
(
4
)选择运行的
vs2008
实例可以只启动一个
vs2008
程序,新实例则要启动另一个
vs2008
程序。
(
5
)不管选择那个
vs2008
,选中的
vs2008
即自动进入调试状态。
6.
这时
vs2008
进入调试状态,在
IE
中打开相应网页,然后在
vs2008
的脚本中设置断点,浏览器运行到断点会自动切换到
vs2008
进行跟踪调试。
vs2008
会自动生成要调试的脚本文件的副本,这个副本是一个临时只读文件,用于调试。
注:如果断点不起作用,可用以下方法:
vs2008
停止调试,打开
IE
设置外部脚本调试程序,
IE
打开网页,
vs2008
停止调试,在
vs2008
中按
F5
进入调试。
或者
vs2008
停止调试,打开
IE
设置外部脚本调试程序,退出
IE
,在
vs2008
中按
F5
进入调试。
7.
也可以在脚本中插入
debugger
语句,运行到这里会进行调试状态。
8.
有的地方无法设置断点,如嵌在
ascx
控件内的脚本程序,如果设置断点会提示“这不是断点的有效位置”,这时可以用插入
debugger
语句的办法进行调试。
9.
在
vs2008
调试状态下如设置新的断点,有时需要重新启动调试才能生效,即在
vs2008
选择
调试
->
重新启动。
10.
如果在
cs
文件中设置了断点,则在相应
aspx
文件中引用的
javascript
脚本可能不能设置断点,可在
javascript
脚本中插入
debugger
进行调试,这样有可能需要启动两个
vs2008
程序,一个调试
cs
文件,一个调试
js
脚本。
在调试状态下,
vs2008
可生成解析后的网页文件,例如一个
index.aspx
网页有
c.ascx
控件,
c.ascx
控件包括了
j.js
脚本文件,用浏览器先打开
index.aspx
网页,再在浏览器
查看
->
外部脚本调试程序
->
打开
进行设置后,
vs2008
会生成一个新的包括了
j.js
脚本内容的动态
index.aspx
文件,用户可以看到解析后的
index.aspx
文件(文件名后面显示
[
动态
]
),这一点有时很有用。而且
vs2008
这样处理还有一个好处,通过这样解析后,原来不能插入断点的地方变得可以了,因为原来在控件文件中引用的
javascript
脚本,变成了包括在
aspx
文件中的
javascript
脚本,当然,你不能直接在
j.js
中插入断点,而要在
index.aspx[
动态
]
这个文件的相应位置中接入。