We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Is it a bug that I get an infinite loop in the Debugger when various problems happen?

  • 1 个回答
  • 1 人有此问题
  • 1 次查看
  • 最后回复者为 David Spector

more options

I wanted to submit this as a bug report to Bugzilla, but I can't find it anymore!

An example of when I get an infinite loop is when I invoke a nonexistent method on an undefined object in my JS file. Another is when I rename the JS file pointed to by my HTML file being debugged and the debugger looks for the old filename.

In both cases, I get the same error message and an infinite loop that makes my computer turn its fan way up until I close the tab containing the test html program.

Source file shown it onloadwff.js The error message is: Paused on exception: Syntax error: element.queryselectorall: '*,:x' is not a valid selector.

It is not okay to pause on an exception due to a syntax error in the debugger itself. It is not okay to go into an infinite loop due to a pause on an exception.

I wanted to submit this as a bug report to Bugzilla, but I can't find it anymore! An example of when I get an infinite loop is when I invoke a nonexistent method on an undefined object in my JS file. Another is when I rename the JS file pointed to by my HTML file being debugged and the debugger looks for the old filename. In both cases, I get the same error message and an infinite loop that makes my computer turn its fan way up until I close the tab containing the test html program. Source file shown it onloadwff.js The error message is: Paused on exception: Syntax error: element.queryselectorall: '*,:x' is not a valid selector. It is not okay to pause on an exception due to a syntax error in the debugger itself. It is not okay to go into an infinite loop due to a pause on an exception.
已附加屏幕截图

所有回复 (1)

more options

The infinite loop stops happening when I uncheck the box Debugger > Breakpoints > Pause on exceptions and reload. My program has the line "throw Error(msg);" which may be an easy way to replicate the bug, not sure.

Throwing an uncaught error while using the debugger wasn't this much of a problem months ago, when I last had time to program in JavaScript. Note: Uncaught errors are allowed in JavaScript.