博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何调试Node.js应用程序?
阅读量:2292 次
发布时间:2019-05-09

本文共 4084 字,大约阅读时间需要 13 分钟。

如何调试服务器应用程序?

现在,我主要使用带有以下打印语句的警报调试

sys.puts(sys.inspect(someVariable));

必须有更好的调试方法。 我知道有一个命令行调试器。 该调试器也可用于Node.js吗?


#1楼

我个人使用因为它是我发现的唯一一个对前端和后端都非常的JavaScript IDE。

它可以在多个操作系统上运行,并具有内置的Node.js调试功能(以及大量其他功能)( )。

我唯一的“问题” /愿望清单项目 分别是

  1. 在Mac上似乎比Windows占用更多的资源 在版本6中似乎不再是问题。
  2. 如果它具有Snippet支持(例如支持),那就太好了,例如,键入“ fun”并点击“ tab”以放入函数。 请参阅下面的@WickyNilliams评论-使用实时模板,您还将获得摘要支持。

#2楼

假设您已在计算机上安装了节点检查器(如果没有,只需键入“ npm install -g节点检查器”),则只需运行:

node-inspector & node --debug-brk scriptFileName.js

并将URI从命令行粘贴到WebKit(Chrome / Safari)浏览器中。


#3楼

调试

剖析

  1. node --prof ./app.js
  2. node --prof-process ./the-generated-log-file

堆转储

火焰图

  • 然后是
  • 和 —

追踪

记录中

输出调试信息的库

增强堆栈跟踪信息的库

标杆管理

  • ab -n 100000 -c 1 http://127.0.0.1:9778/

其他

遗产

这些用于工作,但不再维护或不再适用于现代节点版本。

  • 由内置调试代替
  • 由节点检查器取代
  • 已停用

#4楼

是Adobe研究的一个项目,它使您可以在其开源编辑器调试Node.js代码。 它具有一些有趣的功能,例如实时代码覆盖,追溯检查,异步调用树。

屏幕截图


#5楼

对于那些不确定从哪里开始的人,我整理了一个简短的如何使用 。


#6楼

有一个新的开源项目(作为Eclipse插件或 ):

Nodeclipse在排名第一。 它使用了经过修改的调试器(来自Google Chrome开发者工具Java)。

Nodeclipse是免费开源软件。


#7楼

仅出于完整性考虑:


#8楼

2012或2013的包含调试器。 的概述指出“用于Visual Studio的Node.js工具包括对调试节点应用程序的完整支持。”。 作为Node.js的新手,但在.NET中有背景,我发现此插件是调试Node.js应用程序的好方法。


#9楼

作为Google 一部分发布的调试器可用于调试Node.js脚本。 有关如何工作的详细说明,请参见 。


#10楼

我创建了一个名为的简洁小工具,可以为您提供帮助。

在代码中的某个位置放置一个简单的语句,正常运行脚本,节点将暂停当前线程,使您可以访问所有变量和函数。 随意查看/编辑/删除它们!

pry = require('pryjs')class FizzBuzz  run: ->    for i in [1..100]      output = ''      eval(pry.it) # magic      output += "Fizz" if i % 3 is 0      output += "Buzz" if i % 5 is 0      console.log output || i  bar: ->    10fizz = new FizzBuzz()fizz.run()

#11楼

如果您使用的是 ,则可以安装node-debugger软件包。


#12楼

使用您喜欢的浏览器调试器调试小型Node.js脚本的快捷方法是使用browserify 。 请注意,这种方法不适用于需要本机I / O库的任何应用程序,但是对于大多数小型脚本而言,它已经足够了。

$ npm install -g browserify

现在将您所有的var x = requires('x')调用移至requires.js文件并运行:

$ browserify requires.js -s window -o bundle.js

(这里的缺点是,你要么必须移动或发表意见requires在您的所有文件。)

像这样在HTML文件中包含bundle.js

现在,将文件加载到浏览器中,然后按F12键和中提琴:在浏览器中调试。


#13楼

我编写了另一种方法来调试Node.js代码,该方法稳定且极其简单。 可从 。

在此处输入图片说明

开源的跨平台可视调试器。

安装:

npm install iron-node -g;

调试:

iron-node yourscript.js;


#14楼

对于Node.js的工作非常出色。

此外,IntelliJ还很好地支持“代码协助”。


#15楼

具有非常好的Node.js调试支持。 它是免费,开放源代码和跨平台的,可在Linux,OS X和Windows上运行。

如果需要,您甚至可以调试 。


#16楼

这里有很多不错的答案,但是我想补充一下我的观点(根据我的方法如何发展)

调试日志

面对现实,我们都喜欢一个好的console.log('Uh oh, if you reached here, you better run.')有时效果很好,所以如果您不愿离开它太远,至少可以添加使用为您的日志 。

交互式调试

与控制台日志记录一样方便,要进行专业的调试,您需要袖手旁观并陷入困境。设置断点,单步执行代码,检查范围和变量,以查看导致异常行为的原因。 正如其他人提到的那样, 实际上就是蜜蜂的膝盖。 它使用内置的调试器可以完成您可以做的所有事情,但是使用熟悉的Chrome DevTools界面。 如果像我一样使用Webstorm ,那么是从进行调试的便捷指南。

堆栈痕迹

默认情况下,我们无法跟踪事件循环(刻度)不同周期中的一系列操作。 要解决这个问题,请看看 (但不在生产中!)。

内存泄漏

使用Node.js,我们可以使服务器进程保持相当长的时间。 如果您认为它冒出了一些令人讨厌的漏洞,该怎么办? 使用和Chrome DevTools比较一些快照,看看有什么变化。


有关一些有用的文章,请查看

如果您想观看视频,则

  • 关于跟踪和调试node.js的

无论选择哪种方式,只要确保您了解调试方式即可

这是一件痛苦的事

看自己的麻烦并知道
你自己,没有别人做到

Sophocles,阿贾克斯


#17楼

从 , IDE就已经支持Node.js了:

<...>

新功能亮点

Node.js应用程序开发

  • 新的Node.js项目向导
  • 新的Node.js Express向导
  • 增强的JavaScript编辑器
  • 对运行Node.js应用程序的新支持
  • 调试Node.js应用程序的新支持。

<...>

其他参考:


#18楼

我会选择进行调试。 没有安装任何工具或npm install东西的开销。 只需在package.json中设置应用程序的起点,VSCode就会在您的解决方案内部自动创建配置文件。 它建立在之上,像Atom这样的编辑器也建立在上。

VS Code提供了与其他IDE(例如VS,Eclipse等)类似的调试体验。


#19楼

使用Webstorm! 非常适合调试Node.js应用程序。 它具有内置的调试器。 在此处查看文档: :


#20楼

可以节省一天! 从支持任何浏览器中使用它。 断点,事件探查器,实时编码等,这真的很棒。

通过以下方式安装:

npm install -g node-inspector

然后运行:

node-debug app.js

#21楼

从6.3版开始,Node拥有自己的 GUI调试器(使用Chrome的DevTools)

只需传递检查器标志,您将获得指向检查器的URL:

node --inspect server.js

您也可以通过传递--inspect-brk代替第一行。


#22楼

有很多可能性...

  • 包括
  • 代码编辑器/ IDE(请参阅调试说明以了解以下内容之一)
    • 和更多

调试支持通常使用或更新的 。


#23楼

将在调试中为我们工作。


#24楼

Node.js版本0.3.4+具有内置调试支持。

node debug script.js

手册: :


#25楼

使用--inspect标志启动节点进程。

node --inspect index.js

然后在chrome中打开chrome://inspect 。 点击“打开用于节点的专用DevTools”链接或安装 chrome扩展程序,以轻松打开chrome DevTools。

有关更多信息,请参考链接


#26楼

使用此命令

DEBUG_LEVEL=all node file.jsDEBUG=* node file.jsnode file.js --inspect

#27楼

使用Chrome版本67.0.3396.62(+)

  1. 运行节点应用

节点--inspect-brk = 0.0.0.0:9229 server.js(服务器js文件名)

  1. 在chrome中浏览您的应用,例如“ localhost:port”
  2. 打开DevTools。
  3. 单击响应设备图标旁边的节点图标。

将会弹出另一个DevTools窗口,专门用于调试节点应用程序。


#28楼

Node.js中有内置的命令行 。 Cloud 9 IDE也具有相当不错的(可视) 。


#29楼

ndb是由Chrome DevTools支持的Node.js改进的调试体验


#30楼

如果您需要功能强大的Node.js日志记录库,那么是一个更好的选择。

它输出带有时间戳,文件名,方法名,行号,路径或调用堆栈的日志消息,支持颜色控制台,并轻松支持数据库,文件,流传输。 我是作者。

转载地址:http://obdnb.baihongyu.com/

你可能感兴趣的文章
Java总结:Java多线程
查看>>
从Java码农到年薪八十万的架构师
查看>>
python psutil结合钉钉报警
查看>>
一键升级python
查看>>
python 99乘法表
查看>>
一个可以拿来直接用的资产管理项目
查看>>
Centos 7 firewalld 基本操作
查看>>
passwd:只能指定一个用户的名称。
查看>>
nginx日志切割和日志清理
查看>>
RPC与分布式服务框架Dubbo
查看>>
为什么需要文件服务器?
查看>>
Redis怎么实现主从同步的
查看>>
Spring整理
查看>>
Spring Mvc整理
查看>>
Dubbo整理
查看>>
Redis整理
查看>>
JVM内存模型和类加载机制
查看>>
JDK1.0到12各版本新特性
查看>>
JAVA的一次编译,到处运行。可以在所有的平台上运行?
查看>>
HttpSessionListener监听器
查看>>