Debugging NodeJS-NodeJS的分步调试器

Debugging NodeJS-NodeJS的分步调试器,debugging,node.js,stack,trace,Debugging,Node.js,Stack,Trace,我正在寻找一种分步调试NodeJS服务器代码的有效方法。现在我使用了几十个console.log(),这非常困难。完美的工具是一个允许我检查堆栈中每个变量的值并逐行跟踪程序的工具。首选操作系统=MacOS/Linux。是否可能?用于提供您正在寻找的节点调试环境。这太棒了。基本上,Node.js构建在V8之上,因此其调试功能也构建在V8调试功能之上 V8包含一个调试器,可通过端口5858上的TCP访问该调试器 所以基本上你所需要的就是一个前端,它可以连接到端口5858,并且可以谈论V8的调试协议

我正在寻找一种分步调试NodeJS服务器代码的有效方法。现在我使用了几十个console.log(),这非常困难。完美的工具是一个允许我检查堆栈中每个变量的值并逐行跟踪程序的工具。首选操作系统=MacOS/Linux。是否可能?

用于提供您正在寻找的节点调试环境。这太棒了。

基本上,Node.js构建在V8之上,因此其调试功能也构建在V8调试功能之上

V8包含一个调试器,可通过端口5858上的TCP访问该调试器

所以基本上你所需要的就是一个前端,它可以连接到端口5858,并且可以谈论V8的调试协议

一个选项是使用它,它基本上在浏览器中提供了一个调试UI。不幸的是,它只适用于谷歌Chrome和苹果Safari(这对我来说没有问题,但可能还有其他;-))

另一个选择是使用

最后但并非最不重要的一点是,Node.js的内置调试器(它总是让我想起MS-DOS的
edlin
)也是这个TCP调试器的前端,只是一个内置调试器

当然,还有更多的选择。。。这三个只是我想到的前三个;-)

检查。这是一个很棒的IDE,您还可以直接运行nodejs代码,或者连接到已经运行的启用调试的节点进程。在这两种情况下,WebStorm都提供了您需要的功能:逐行跟踪程序执行,并在每一行检查每个变量的状态。

这如何

您可以尝试测试Eclipse版本0.2.0测试版

它将帮助您轻松调试节点应用程序

快递项目的生成

Select the [File]-[New]-[Project] menu.
Select [Node]-[Express Project], and push [Next] button.
Enter [Project name], and push [Finish] button.
调试

Open the JavaScript source files that you want to set breakpoints.
Double-click on the ruler at the left end of the line you want to set a breakpoint.
If you want to remove a breakpoint, double-click on the ruler again.
Select the main source file of Node Application on the Project Explorer, 
open the context menu by right-clicking, 
select the [Debug As]-[Node Application] menu.

尝试使用nodeunit npm模块测试nodejs服务器端代码。

尽管这个问题已经很老了,但Microsoft“Visual Studio代码”中有一个很棒的IDE,它是用Javascript(Typescript)开发的,能够调试Node JS项目


签出此链接

节点检查
内置CLI步骤调试

这花了一段时间,但在某个时候Node最终添加了内置调试:

node inspect main.js
这让你在程序的第一行

导航到:

  • n
    转到下一行
  • s
    进入功能
  • c
    继续
  • o
    step out
  • h
    获取帮助
要查看变量或注入代码,首先需要使用以下命令进入REPL模式:

repl
然后,您可以在
节点
交互式会话中运行命令,例如,要查看变量的值,只需写入变量名称:

myvar
要一直输入这四个字符是很尴尬的,但我不知道还有什么选择

您还可以在
c
之后添加
debugger
语句到要中断程序的位置:

const i = 1;
debugger;
i = 2;
相关问题:


在Node.js v10.15.1和Ubuntu 19.10中测试。

你的意思不是(
Node debug yourscript.js
)?不,我喜欢Visual Studio desugger。它允许逐行跟踪程序,并在每一行检查每个变量的状态旧答案,但正是我需要的-chrome+node=调试天堂