gpt4 book ai didi

debugging - Apps 脚本调试器不允许我查看对象中的值(包括数组和 block 作用域)

转载 作者:行者123 更新时间:2023-12-03 16:09:03 24 4
gpt4 key购买 nike

我正在尝试调试一个 Apps 脚本项目,在过去的 2-3 天里,调试器没有让我查看在范围级别定义的变量。
例如,我试图调试这段代码。

/**
* Deletes all rows in a sheet, excluding header rows. Just calling sheet.deleteRows()
* for a massive range of rows will throw out an error.
* @private
*
* @param {Sheet} sheet
* @param {number = 0} numHeaderRows
* @param {number = 500} deletionSize - The number of rows to delete at a time
*/
function deleteAllNonHeaderRows_(sheet, numHeaderRows = 0, deletionSize = 500) {
const startingNumberOfRows = sheet.getMaxRows();
for (let numRows = startingNumberOfRows; numRows > numHeaderRows; numRows -= deletionSize) {
if (numRows < deletionSize) {
const deletionArgs = [numHeaderRows + 1, sheet.getLastRow() - numHeaderRows]
sheet.deleteRows(...deletionArgs);
} else {
sheet.deleteRows(numRows - deletionSize, deletionSize);
}
}
}
这通常是一个快速的过程,但由于我无法查看我试图传递给 sheet.deleteRows() 的参数的值,我花了一点时间告诉我应该使用 sheet.getMaxRows()而不是 sheet.getLastRow() .使用调试器会弹出一个列出所有作用域的菜单,但尝试扩展 block 作用域不会做任何事情。经过一番修改,我发现这个问题扩展到所有作为对象实现的东西,所以数组也包括在内。扩大本地范围是可行的,但如果那里有任何类型的对象,我就无法扩大它。
Image linked because this is my first post, and I can't embed yet
我不确定是什么导致了这个问题。我在 Edge 中编码,但切换到 Chrome 并没有改变任何东西(可能是因为它们都是基于 Chromium 的)。我还尝试禁用我所有的广告拦截器和隐私保护器。查找其他人遇到的问题也没有找到任何最近的帖子。有什么可以做的吗?我也经常收到错误消息,例如“无法连接到服务器”。但脚本本身运行良好,无论它们是在容器绑定(bind)文件中还是在编辑器本身中运行。

最佳答案

编辑:
Google 已修复此 V8 调试问题。
(截至 2020 年 9 月 1 日)
原答案:
V8调试目前遇到bug
(截至 2020 年 7 月 23 日)
使用调试器会导致 UI 无响应(报告各不相同),服务器响应为 409 ,断点挂起执行。如果您遇到类似行为,请在下方链接到的问题加注星标。
Link to Issue in Google's IssueTracker: "Debug mode not responsive in V8"

关于debugging - Apps 脚本调试器不允许我查看对象中的值(包括数组和 block 作用域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63058299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com