google-apps-script - 将 Google Apps Script V8 分配给 null 会取消调试

标签 google-apps-script v8 google-apps-script-editor

对 null 的变量赋值会导致调试取消该行的执行。
这是一个重现问题的测试脚本:

function myFunction() {
  var a = "Hallo";
  Logger.log("a=" + a);
  var b = null;
  Logger.log("b=" + b);
}

调试时,此脚本执行在“var b = null;”行取消。日志输出为:
Mar 11, 2020, 8:52:49 PM    Info    a=Hallo
Mar 11, 2020, 8:52:54 PM    Info    Execution cancelled.

在 Debug模式下越过该行并越过该行时,结果是相同的。但是,在后一种情况下,屏幕顶部会闪烁红色错误消息片刻,内容为:“很抱歉,发生服务器错误。请稍等,然后重试。”...等待并重试使没有不同。
[今天在杰夫在下面发表评论后再次尝试,只能通过在 Debug模式下跨过分配行来重新创建它]

正常运行脚本(不在调试中)时,它会成功完成。

最佳答案

我找到了临时解决方法:

暂时(仅用于调试)删除 var对于需要 null 的变量值(value)。

注意:变量没有 var变为全局 - 因此您可能会意外更改具有相同名称的全局变量的值。

但没有 var您将无法在调试器中看到您的变量。因此,另一种解决方法是使用 if 测试您的变量语句以查看调试器中的值:

改变:

  var b = null;

暂时(仅用于调试):
  b = null;
  if (b==null){
    var b0='null';
  } else {
    var b0=b;
  }

并观察 b0调试器中的变量

关于google-apps-script - 将 Google Apps Script V8 分配给 null 会取消调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60643019/

相关文章:

node.js - 无法在 Node 12.7 中安装 LDAP

javascript - for of 在JS中是如何实现的

google-apps-script - 从 Android 访问 Google Apps 脚本编辑器

google-apps-script - 在表格或云端硬盘中使用 AppScript 裁剪图像

google-apps-script - 保护电子表格免于在 Google 表格中重命名

google-apps-script - 一个脚本可以触发另一个脚本中的函数吗?

javascript - 匹配行首时 JavaScript V8 正则表达式引擎中的错误?

javascript - HTMLElement.click() 不会触发预期的事件

function - 我可以将 onEdit 函数限制为 Google 表格中的复选框单元格吗?

javascript - 如何计算具有特定文本和颜色的单元格