Debugging 在GoogleApps脚本中,使用新的V8运行时断点的工作方式是否不同?
使用旧的运行时,我可以在代码中的任何位置设置断点。使用新的v8运行时断点显然必须在我从调试器运行的函数中 这是故意的行为吗?我是在调试器中还是在代码中做错了什么?也许它的结构不正确吗 最简单的例子:Debugging 在GoogleApps脚本中,使用新的V8运行时断点的工作方式是否不同?,debugging,google-apps-script,v8,google-apps-script-editor,google-apps-script-runtime,Debugging,Google Apps Script,V8,Google Apps Script Editor,Google Apps Script Runtime,使用旧的运行时,我可以在代码中的任何位置设置断点。使用新的v8运行时断点显然必须在我从调试器运行的函数中 这是故意的行为吗?我是在调试器中还是在代码中做错了什么?也许它的结构不正确吗 最简单的例子: var test1 = 1; var test2 = 2; var test3 = 3; function myFunction() { var test4 = 4; var test5 = 5; } V8运行时: 我可以在var test4=4上设置断点,然后使用调试器并选择myFun
var test1 = 1;
var test2 = 2;
var test3 = 3;
function myFunction() {
var test4 = 4;
var test5 = 5;
}
V8运行时:
我可以在var test4=4
上设置断点,然后使用调试器并选择myFunction
,代码在该行中断
但是如果我在var test2=2
上设置断点,然后使用调试器,选择myFunction
,它不会中断(旧运行时会中断)。这是与V8运行时相关的新行为
- 一方面 来自:
- 另一方面
var test2=2行停止代码>在myFunction()
之外,您需要以不同的方式构造代码,例如:
我以前从未注意到这种行为。我猜是因为我不太使用全局变量。但我不认为你做错了什么。但老实说,我不知道这是故意的还是疏忽。你可以把它作为一个问题发布,看看他们怎么说。但是这里的另一位reqular志愿者可能会知道。哇,这是近来罕见的现象-一个有趣的问题:)同意Cooper的观点-你没有做错任何事(除了使用全局变量)。V8引擎和调试器之间几乎没有什么关系,例如,Node.js运行时使用新引擎,如果与VSCode使用的调试器配合使用,您的示例将很好地完成。我倾向于认为这是一种疏忽(此外,变量赋值是一行被执行的代码-为什么它不应该被检查?@OlegValter…我同意现在这种情况很少见:)