我遇到以下问题 - 我试图在使用vm模块运行的代码中调试/设置断点。我发现完成此任务的唯一方法是通过调试器语句:
// client code, loaded in the vm module
function printMessage() {
debugger;
return 56;
}
printMessage();
还有其他方法可以实现吗?最好使用节点检查器等工具吗?
编辑:找到一个解决方案 - 将“filename”的字符串传递给vm的执行函数。例如: vm.runInThisContext(codeToRun, "someFilename.js");
这样调试器“计算出”代码来自何处。
答案 0 :(得分:1)
正如您所提到的,node-inspector
是此任务的理想选择。您是否可以直接启动node-debug someFilename.js
并在界面中设置断点?
另一种方法是使用debugger
,然后运行node debug someFilename.js
并使用setBreakpoint('someFilename.js', 10)
等命令
您可以在节点文档中找到更多信息:https://nodejs.org/api/debugger.html