程序似乎仅在未在 Google Apps 脚本中调试时挂起
Program seems to hang only when NOT debugging in Google Apps Script
在我创建的脚本中,当我 运行 它正常时,似乎挂起或卡住或最终陷入无限循环。我在我的代码中放置了几个断点来逐步检查它以尝试找到问题所在,但是当我 运行 它在调试器中时,没有任何问题!
我在网上搜索了一下,但找不到任何东西。可能更多的是没有输入正确的搜索条件的问题,但无论如何,我被卡住了。
好的,所以我想我已经找到了问题所在的区域。这是代码:
function inductDaycareIntoSystem(){
var ss = SpreadsheetApp.getActive();
var controlRoomSheet = ss.getActiveSheet(); // alias for master doc sheet
var daycareNumber = chooseADaycare(); // Holds the number entry for the daycare chosen to work on (the starting entry, when doing multiple daycares) col. A
Logger.log("Line 5");
var finalDaycareNumber = daycareNumber; // Holds the last daycare slot number to be processed (same number as 'daycareNumber' when only one is being processed)
//Needs to be adjusted to get a final number as well
for(var i = daycareNumber; i >= finalDaycareNumber; i ++){
**code to execute in loop**
}
程序似乎仍然挂起,因为 for 循环内的所有代码都被注释掉了。
想想你在做什么
- 让我们假设
daycareNumber = 2
- 因为
var finalDaycareNumber = daycareNumber;
- finalDaycareNumber
也将是 2
- 对于你的循环,它意味着:
for(var i = 2; i >= 2; i ++){
- 换言之:从
i =2
开始,增加iin every iteration as long as
iis not smaller than
2`
- 但是
i
永远不会小于2
,因为2
是起始值,从那里开始i
只会在每次迭代中增加
在我创建的脚本中,当我 运行 它正常时,似乎挂起或卡住或最终陷入无限循环。我在我的代码中放置了几个断点来逐步检查它以尝试找到问题所在,但是当我 运行 它在调试器中时,没有任何问题!
我在网上搜索了一下,但找不到任何东西。可能更多的是没有输入正确的搜索条件的问题,但无论如何,我被卡住了。
好的,所以我想我已经找到了问题所在的区域。这是代码:
function inductDaycareIntoSystem(){
var ss = SpreadsheetApp.getActive();
var controlRoomSheet = ss.getActiveSheet(); // alias for master doc sheet
var daycareNumber = chooseADaycare(); // Holds the number entry for the daycare chosen to work on (the starting entry, when doing multiple daycares) col. A
Logger.log("Line 5");
var finalDaycareNumber = daycareNumber; // Holds the last daycare slot number to be processed (same number as 'daycareNumber' when only one is being processed)
//Needs to be adjusted to get a final number as well
for(var i = daycareNumber; i >= finalDaycareNumber; i ++){
**code to execute in loop**
}
程序似乎仍然挂起,因为 for 循环内的所有代码都被注释掉了。
想想你在做什么
- 让我们假设
daycareNumber = 2
- 因为
var finalDaycareNumber = daycareNumber;
-finalDaycareNumber
也将是2
- 对于你的循环,它意味着:
for(var i = 2; i >= 2; i ++){
- 换言之:从
i =2
开始,增加iin every iteration as long as
iis not smaller than
2` - 但是
i
永远不会小于2
,因为2
是起始值,从那里开始i
只会在每次迭代中增加