在WebStorm(2016.1)中进行调试时,调试器在console.log(arguments)
之后中断。这是一个例子:
function breakDebug() {
console.log(arguments);
}
breakDebug();
console.log("still kickin'"); // WS will not stop on breakpoint here
这可以通过将arguments
转换为某种类型来解决,该类型不会在调用者方面阻止调试器(array
,object
或其他类似的东西),如下所示:< / p>
function digestible(args) {
return Array.prototype.slice.call(args);
}
function breakDebug() {
console.log(digestible(arguments)); // this is cumbersome
}
breakDebug();
console.log("still kickin'"); // this time debugger stops
// on breakpoint here
不是显式地将参数转换为数组,而是可以在console
对象上执行一些安全的巫术,这会使第一个片段不破坏调试器吗?安全我的意思是遵守所有像我这样的JS n00b都不了解的最佳实践。
作为一个附带问题,我应该向JetBrains报告吗?