在 Google Apps 脚本中,使用新的 V8 运行时时断点的工作方式会有所不同吗?
In Google Apps Script do breakpoints work differently when using the new V8 runtime?
使用旧的 运行time 我可以在代码中的任何位置设置断点。使用新的 v8 运行time 断点显然必须在调试器的函数 I 运行 中?
这是有意为之的行为吗?我是在调试器中还是在我的代码中做错了什么?也许它的结构不正确?
最小示例:
var test1 = 1;
var test2 = 2;
var test3 = 3;
function myFunction() {
var test4 = 4;
var test5 = 5;
}
V8 运行时间:
我可以在 var test4 = 4
上设置一个断点,然后使用调试器和 select myFunction
,代码会在那一行中断。
但是如果我在 var test2 = 2
上设置断点然后使用调试器 selecting myFunction
,它不会中断(它会与旧的 运行时间).
这是与 V8 运行时相关的新行为
一方面
When run in debug mode a script pauses when it hits a breakpoint,
which is a line you've highlighted in your script
如果您的断点位于函数之外 - 在从未被调用的行中 - 您的断点将永远不会被命中。
- 另一边
其他人也注意到这种行为与之前和 filed it 在 Google 的 Public 问题跟踪器
虽然 Google 调查之前或当前的行为是预期的行为,但作为解决方法:
如果您希望调试器在 myFunction()
之外的 var test2 = 2;
行停止,您需要以不同的方式构建代码,例如:
使用旧的 运行time 我可以在代码中的任何位置设置断点。使用新的 v8 运行time 断点显然必须在调试器的函数 I 运行 中?
这是有意为之的行为吗?我是在调试器中还是在我的代码中做错了什么?也许它的结构不正确?
最小示例:
var test1 = 1;
var test2 = 2;
var test3 = 3;
function myFunction() {
var test4 = 4;
var test5 = 5;
}
V8 运行时间:
我可以在 var test4 = 4
上设置一个断点,然后使用调试器和 select myFunction
,代码会在那一行中断。
但是如果我在 var test2 = 2
上设置断点然后使用调试器 selecting myFunction
,它不会中断(它会与旧的 运行时间).
这是与 V8 运行时相关的新行为
一方面
When run in debug mode a script pauses when it hits a breakpoint, which is a line you've highlighted in your script
如果您的断点位于函数之外 - 在从未被调用的行中 - 您的断点将永远不会被命中。
- 另一边
其他人也注意到这种行为与之前和 filed it 在 Google 的 Public 问题跟踪器
虽然 Google 调查之前或当前的行为是预期的行为,但作为解决方法:
如果您希望调试器在 myFunction()
之外的 var test2 = 2;
行停止,您需要以不同的方式构建代码,例如: