2014-01-17 44 views
9

我遇到以下問題 - 我試圖在使用vm模塊運行的代碼中調試/設置斷點。我發現做到這一點的唯一方法是通過把一個調試器語句:在node.js的vm中運行的調試代碼

// client code, loaded in the vm module 
function printMessage() { 
    debugger; 
    return 56; 
} 

printMessage(); 

是否有任何其他的方式來做到這一點?最好使用諸如節點檢查器之類的工具?

編輯:找到一個解決方案 - 通過傳遞一個字符串的「文件名」從vm執行功能。例如:

vm.runInThisContext(codeToRun, "someFilename.js");

這樣調試器「數字出」究竟在何處的代碼來自。

回答

1

正如你所提到的,node-inspector是一個很好的選擇。你不能只開始node-debug someFilename.js並直接在用戶界面中設置你的斷點?

另一種方法是使用debugger用,然後運行node debug someFilename.js和使用命令,如setBreakpoint('someFilename.js', 10)

您可以找到節點文檔中的詳細信息:https://nodejs.org/api/debugger.html

相關問題