2016-04-13 30 views
1

我想在下面的引用中列出的位置插入斷點。假設下面的引用屬於名爲「test.js」的js文件。我想要做的是當我在命令行上運行「node test.js」時,它會在中斷點斷開,然後我可以檢查中斷點處可用的所有變量。將斷點插入javascript文件

var a = 4; 

function changeA(input) { 
    var input = 6 
    [INSERT BREAK POINT HERE] 
    console.log(input) 
}; 

changeA(a); 
console.log(a); 

或者還有另一種方式來插入斷點到JavaScript文件?

回答

1

您可以硬編碼斷點這樣的:

debugger; 

例如爲:

function changeA(input) { 
    var input = 6 
    debugger; 
    console.log(input) 
} 

...但你必須要使用調試器爲它意味着什麼,比如node-inspector。如果你使用的是調試器,你可以通過調試器本身設置斷點(而不是硬編碼)。

這裏的調試非常簡單的NodeJS腳本示例通過node-inspector

腳本:

var a = +process.argv[2]; 
var b = +process.argv[3]; 
var c = a + b; 
console.log("c = " + c); 

命令來啓動node-inspector,並通過我的腳本幾個參數的個數:

 
node-debug temp.js 10 20 

瀏覽器彈出一個調試用戶界面,程序暫停。我通過對var b = ...行的UI設置斷點,然後踩過去了一次,所以我坐在var c = a + b;行(尚未運行):

enter image description here

+0

謝謝。非常有用的答案。 –

0

如果建在調試器不是你想要使用的,你可以嘗試Node Inspector,它允許你在瀏覽器中使用一個漂亮的GUI調試接口來調試你的應用程序。

+0

謝謝。非常有用的答案。 –

2

您要找的是debugger;。你可以插入任何你想要的地方,如果你運行了node debug test.js節點會打破你放置debugger;行的任何地方。

一些曾經在調試模式下的基本命令是:

  • c:繼續
  • n:步下一個
  • s:一步

你也有能力通過以下命令在調試模式下手動設置斷點:setBreakpoint(line)

希望這會有所幫助!

資源:NodeJS Debugger API

+0

謝謝。非常有用的答案。 –