我希望能够将debugger
语句(或类似的东西)直接放入我的代码中,并在运行测试时获取REPL,以便我可以与我的代码进行交互以调试内容。
我了解Node(通过V8)支持开箱即用的debugger
语句,但您必须使用某些标记运行代码(通过node debug
或node --debug
或{{ 1}} - 我不太了解差异。)
Mocha也有这些相同的标志,当我运行node --debug-brk
时,我的终端确实得到了一个调试器提示符:
mocha debug
但断点是摩卡的代码,而不是我的断点。 This blog post说您应该输入< Debugger listening on port 5858
connecting to port 5858... ok
break in node_modules/mocha/bin/_mocha:5
3 */
4
> 5 var program = require('commander')
6 , path = require('path')
7 , fs = require('fs')
debug>
然后run
来到您的断点,但当我输入continue
时它告诉我&#34;应用已经运行...&#34;当我输入run
时,它告诉我&#34;语法错误:非法继续声明&#34;。
它说&#34;在端口5858&#34; - 我是否需要从某个地方打开与该端口的单独连接,如浏览器或其他终端会话?
我已经看到了continue
的一些内容,但我希望尽可能多地留在终端中,所以我更喜欢这样做而无需打开浏览器。
我是JS的新手,所以请ELI5:)
另外,如果相关,我实际上使用的是io.js,而不是正确的节点
答案 0 :(得分:1)
当节点/ iojs调试器首次启动并连接时,无论脚本传递到解释器的是什么,它总是在第一行中断。
由于您已经在运行应用程序,因此无需在此处键入run,但只需键入c
即可继续执行,直到断点为止。
run
非常有用 - 您可以重新启动它! (您也可以restart
在调试器中重启程序。)