对于调试,我希望能够打印消息,并预先添加行号。 不,我不想参与一个成熟的调试器。
我定义了一个全局常量ln="thisline = new Error().lineNumber";
我已经定义了一个
function println(msg) {
document.write("<br>at " + thisline + ":" + msg);
}
然后在我要调试的行中,我说了一句话:
eval(ln);
println("msg");
问题是thisline
在打印之前通常不会更新,因此我会使用不变的行号进行长时间的延伸。我永远不会打印超过3个唯一的行号。
只是因为评估太慢了吗?有没有办法等到它完成? 我尝试了暂停:
const ln="setTimeout(function() {
thisline = new Error().lineNumber
}, 1000);"
但全局thisline
从未设置过。
或者我可以提出的错误数量有一些系统限制吗?
答案 0 :(得分:0)
如果您在IE中运行该应用程序,则按F12键(开发人员工具),将打开另一个弹出窗口。
单击“脚本”选项卡,然后单击“启动调试”按钮。
页面将刷新,您可以开始执行操作。
如果出现任何错误,调试器会自动将您带到错误行号。你也可以放置断点。
否则你可以看下面的帖子:
How can I get a Javascript stack trace when I throw an exception?