在PhpStorm / WebStorm中带有debugging器语句的即时断点

我正在调查在debuggingJavaScript时立即设置断点的可能性

for (...) { for (...) { ... } // need a breakpoint here } 

这里的问题是一个断点不能在注释行上切换,它需要一个语句。

debugger语句添加到行时,会出现另一个问题 – 它不会自动切换到debugging器选项卡。 它看起来像应用程序正在等待,没有迹象。

我试图避免添加虚拟语句,因为它们可以被忽略(对于debugger ,至less有一个检查规则来突出显示它)。

有什么技巧可以达到这个目的吗? 至less可以使debugger语句像通常的断点那样工作?

谈到一般问题,只有一个答案,这是你不想听的:

你必须有一个断点的声明

有没有广泛适用的技巧(虽然可能存在一些IDE,允许在循环后立即打破方便…怪异)

不幸的是,你想要的是典型的临时/虚拟语句(正是你试图避免的那种)

 for (...) { for (...) { ... } // TODO: editors like Eclipse flag TODO lines so they are not lost in the source forest setTimeout(Function.prototype, 10000); } 

这是由于(大多数)debugging器的工作机制:基本文件和行号在编译代码中作为debugging器信息(提示)存储,然后在debugging执行期间与可用的源进行匹配。 对于像JS / PHP这样的非编译语言,类似的技术被用于从源代码parsing的string,但是带有注释或者括号的行不是真正可执行的。

在我自己的开发者之旅中,这个问题偶尔会发生丑陋的一面。 这只是debugging性质的一部分。 我希望你可以find一个编码解决scheme,为您提供舒适和一些安心。