2013-08-20 51 views
0

我在調試node.js應用程序時遇到了一些不好的運氣。問題是我需要在一個文件中設置一個斷點,這個文件在開始時沒有加載(當--debug-blk時)。文件是來自節點本身的http.js。使用節點檢查器調試節點src/http.js

所以我想修改文件來添加一個調試器;聲明,但我無法在我的磁盤上找到這個http.js文件?我在磁盤上看到的唯一地方是節點(lib/http.js)的源代碼分發。這個文件位於node-src中的make install之後,並且如何在其中設置斷點?

回答

0

http.js是節點可執行文件的內部。它不存在於磁盤上,修改它的唯一方法是從源代碼構建節點。

這樣做:

var http = require('http'); 
debugger; 

// the rest of your app 

您的應用程序將啓動,負載HTTP,然後暫停。現在您可以使用檢查器在http中設置斷點。 (你不需要--debug-brk,因爲在發生任何事情之前debugger聲明會暫停應用程序。)

+0

好的答案!部分是--debug-brk意味着常規節點調試srv.js還是節點--debug srv.js?我使用節點檢查器進行調試。調試器有問題;除非你使用--debug-brk我發現了。 – js4ftw

+0

有兩種方法可以啓動節點並指示它偵聽調試器連接:'node --debug app.js'和'node --debug-brk app.js'。兩者都做同樣的事情;唯一的區別是'--debug-brk'在app.js的第1行插入了一個斷點。 – josh3736