debugging 调试Google Apps脚本Web应用程序的有效方法

72qzrwbm  于 2022-11-14  发布在  Go
关注(0)|答案(3)|浏览(126)

我有一些编写容器绑定脚本的经验,但对Web应用程序完全是新手。
如何调试(例如查看变量值,单步执行代码等)Web应用程序?在容器绑定脚本中,这很容易,因为我可以设置断点,使用应用程序脚本调试器-如何在网页中进行此操作,例如当我执行doPost时?

yduiuuwa

yduiuuwa1#

James Ferreira在他的优秀著作《Google Script》中主张用三个浏览器窗口来设置自己的开发环境;一个用于代码,一个用于实时视图(在“发布”、“部署为Web应用程序”中,会为您提供一个“最新代码”链接,该链接会在刷新实时视图时将其更新为最新保存),一个用于记录错误的电子表格(使用try/catch,将您希望关注的代码段 Package 起来)。

zf9nrax1

zf9nrax12#

在 Web 应用 程序 中 , 即使 是 通过 Logger.log ( ) 对 变量 进行 最 基本 的 调试 也 不 起 作用 !
Peter Herrmann's BetterLog for Apps Script 是 一 个 很 好 的 解决 方案 , 它 允许 你 登录 到 一 个 电子 表格 ( 与 你 的 工作 电子 表格 相同 或 单独 的 一 个 ) 。
安装 非常 简单 - 只需 添加 一 个 外部 资源 ( 请 参阅 Github 自述 文件 ) 和 一 行 代码 来 覆盖 标准 的 Logger 对象 :

Logger = BetterLog.useSpreadsheet('your-spreadsheet-key-goes-here');

中 的 每 一 个

    • 请 记住 * * , 您 在 此处 作为 参数 提供 的 spreedsheet 将 用于 日志 输出 , 因此 * * 任何 人 都 必须 可 写 * * !

BetterLog 将 在 给定 的 电子 表格 中 创建 一 个 名 为 " Log " 的 新 工作 表 , 并 将 每个 日志 调用 写入 该 工作 表 的 单独 一 行 。

a11xaf1n

a11xaf1n3#

所以,对我来说,我使用检查器调试前端,我还没有找到一种方法来单步调试代码,但是你可以在javascript中使用“调试器”(以及console.log)来停止代码并检查变量。
为了调试后端,我所做的就是编写如下函数

function test_doSomething(){
  payload = "{item1: 100, item2: 200}"  //<- copy paste from log file
  backend_doSomething(payload)
}
function backend_doSomething(payload){
  Logger.log(payload)
  params = JSON.parse(payload)
  ...
}

在后台刷新项目之后,可以查看执行情况,从日志文件中获取有效负载,并将其粘贴到test_doSomething()函数中。
从这里,您将重新创建要调试的调用,然后可以运行该调用,像往常一样逐步执行后端代码。

相关问题