Mic*_*ith 9 debugging google-apps-script google-apps-script-editor
我正在尝试调试 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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它通常会是一个很快的过程,但因为我不能看着的论点,我试图通过进入价值sheet.deleteRows(),我花了一点时间来告诉我应该使用sheet.getMaxRows()代替sheet.getLastRow()。使用调试器会弹出一个列出所有范围的菜单,但尝试扩展块范围并没有任何作用。经过一些修补,我发现这个问题扩展到了作为对象实现的所有东西,所以也包括数组。扩展本地范围有效,但如果那里有任何类型的对象,我无法扩展它。

我不确定是什么导致了这个问题。我在 Edge 中编码,但切换到 Chrome 并没有改变任何东西(可能是因为它们都是基于 Chromium 的)。我还尝试禁用所有广告拦截器和隐私保护器。查找其他人遇到的问题也没有找到任何最近的帖子。有什么可以做的吗?我也偶尔会收到诸如“无法连接到服务器”之类的错误消息。但是脚本本身运行良好,无论它们是在容器绑定文件中还是在编辑器本身中运行。
编辑:
(截至2020年9月1日)
原答案:
(截至 2020 年 7 月 23 日)
使用调试器会导致 UI 无响应(报告各不相同)、服务器响应409、断点挂起执行。如果您遇到类似行为,请在下面链接的问题上加星标。
链接到 Google 的 IssueTracker 中的问题:“调试模式在 V8 中没有响应”
| 归档时间: |
|
| 查看次数: |
932 次 |
| 最近记录: |