2015-01-17 25 views
1

試圖讓node-inspector實際調試一個非常簡單的示例服務器應用程序。我可以從命令行(node-inspector simple.js)啓動調試器,並且它在啓動後爲我提供標準的Node Inspector v0.8.3 Visit http://127.0.0.1:8080/debug?port=5858 to start debugging消息。node-inspector/chrome實例顯示沒有源文件,沒有調用堆棧,沒有任何東西

我在Chrome中訪問該地址,並顯示預期的調試界面。但是,沒有數據。絕對沒有任何數據 - 源文件,調用堆棧,斷點,控制檯都沒有。我打F8。它取消暫停 - 任何地方仍然沒有數據。

我在啓動過程中試過--debug-brk選項 - 相同的結果 - 調試器中任何地方都沒有數據。

我錯過了什麼?

節點檢查:v0.8.3

的NodeJS:v0.10.35

鉻(鉻):內置在Ubuntu 14.04版本39.0.2171.65,在LinuxMint 17

跑這裏是我的代碼試圖調試(文件名是simple.js)。它通過nodejs simple.js

var http = require('http'); 
function func(arg1, arg2) { 
    var result = 'Hello from func. '; 
    result += arg1; 
    result += ' '; 
    result += arg2; 
    return result; 
} 
var server = http.createServer(function(req, resp) { 
    debugger; 
    var str = 'string', 
    num = 10, 
    array = [1, 2, 3, 4, 5], 
    buffer = new Buffer('x'), 
    undef; 
    resp.setHeader('Content-Type', 'text/plain'); 
    resp.end(func(str, num) + '\n'); 
}); 
server.listen(8080, function() { 
console.log('listening on port 8080'); 
}); 
+0

你是不是指'node-debug simple.js'? 'node-inspector'啓動一個服務器,但它不帶任何參數。它只是在啓用調試的情況下連接到任何節點進程。所以你也可以在另一個終端運行'node --debug-brk simple.js',在另一個終端運行'node-inspector'。 – loganfsmyth

+0

這就是答案。不知何故,我錯過了一個事實,即你必須運行兩件事才能獲得理想的結果。關於設置這種事情的一些教程似乎並不清楚。 – mlehmeher

+0

另外一個項目:請注意,在Debian打包版本的節點(v0.10.35)中存在一個問題,目前正在處理的問題阻止了節點與節點檢查器正常工作。您需要將節點回滾到v0.10.33以避免出現'Runtime.getProperties失敗。 ReferenceError:includeSource未定義錯誤;請參閱node-inspector github頁面上的問題#461以獲取詳細信息 – mlehmeher

回答

3

node-inspector命令運行,可以連接到已啓用了調試器的獨立節點處理一個獨立的服務器運行正常(通常是由路過--debug--debug-brk運行腳本時節點。它不運行你的程序

它看起來像node-inspector包帶有一個node-debug命令可用於運行腳本,並同時打開瀏覽器到調試器,以便可能更適合你在找什麼?

+0

正確 - 'node-debug'會爲您解決一些問題,例如自動打開瀏覽器,但請注意它會查看OS的默認瀏覽器設置。所以如果你的默認瀏覽器不是Chrome瀏覽器,它將無法工作。我沒有看到一個命令行選項來指示在啓動節點調試時使用哪個瀏覽器;此功能目前是節點檢查器論壇中討論的一部分。 – mlehmeher