我正在尝试使用IE8和Visual Studio 2010在基于web / ASP.Net的大型复杂框架中调试错误消息。具体来说,我收到一个“未找到成员”消息框,似乎是直截了当的JavaScript警报()。不幸的是,我不知道代码中的问题发生在哪里,fiddler2在这种情况下帮助不大。
我的问题是,使用IE选项,工具或其他方法,我可以让IE在alert()调用中断,以便我可以调试吗?
答案 0 :(得分:5)
字符串搜索“未找到成员”
在该行之前添加1 / 0;
。
打开所有错误的中断。
(我假设您知道开发人员工具已存在。点击F12并导航到脚本选项卡)
修改强>
感谢@DmitriyNaumov
var aalert = window.alert;
window.alert = function() {
aalert.apply(this, arguments);
1 / 0;
}
答案 1 :(得分:1)
您可以尝试使用Microsoft的IE Developer Toolbar。我不知道它是否允许你设置JS断点,但无论如何它都是一个很棒的工具!
答案 2 :(得分:1)
您可以使用IE调试器,按 F12 ,然后在脚本选项卡下添加断点
答案 3 :(得分:1)
使用IE 8,您可以使用开发人员工具,这有点像Firebug for Mozilla Firefox。
http://www.microsoft.com/download/en/details.aspx?id=18359
(更多信息)
通过这种方式,您可以逐步创建断点并在页面上调试脚本执行
按F12
答案 4 :(得分:0)
将alert
更改为抛出正确错误的新函数。
window.alert = function(msg) {
throw "Alert: " + msg;
};
较旧版本的IE不允许在JavaScript中以这种方式覆盖窗口属性,例如警告...但您仍然可以使用VBScript执行此操作。
Sub alert(msg)
Err.Raise 8, "Alert", msg
End Sub
如果您使用VBScript路线,请确保它在任何引用alert
功能的JavaScript之前,否则您将错过机会。
答案 5 :(得分:0)
如果是window.alert,你可以这样做:
不幸的是,这个技巧仅适用于警报和确认,因为它们是模态对话框。