簡體   English   中英

在 Google Apps 腳本中,使用新的 V8 運行時時斷點的工作方式是否有所不同?

[英]In Google Apps Script do breakpoints work differently when using the new V8 runtime?

使用舊的運行時,我可以在代碼的任何位置設置斷點。 使用新的 v8 運行時斷點顯然必須在我從調試器運行的 function 中?

這是預期的行為嗎? 我在調試器或我的代碼中做錯了嗎? 也許它的結構不正確?

最小的例子:

var test1 = 1;
var test2 = 2;
var test3 = 3;

function myFunction() {
  var test4 = 4;
  var test5 = 5;
}

V8 運行時間:

我可以在var test4 = 4上設置斷點,然后使用調試器和 select myFunction ,代碼在該行中斷。

但是,如果我在var test2 = 2上設置斷點,然后使用調試器,選擇myFunction ,它不會中斷(它會與舊運行時一起使用)。

這是與 V8 運行時相關的新行為

在調試模式下運行時,腳本在遇到斷點時會暫停,斷點是您在腳本中突出顯示的行

如果您的斷點位於 function 之外 - 在從未被調用的行中 - 您的斷點將永遠不會被命中。

  • 另一方面

其他人也注意到這種行為與以前不同,並將其歸檔在 Google 的 Public Issue Tracker 上

雖然谷歌調查之前或當前的行為是預期的行為,但作為一種解決方法:

如果你想讓你的調試器停止在var test2 = 2; myFunction()之外,您需要以不同的方式構造代碼,例如:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM