Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何调试Node.js应用程序?_Javascript_Node.js_Debugging_Google Chrome Devtools - Fatal编程技术网

Javascript 如何调试Node.js应用程序?

Javascript 如何调试Node.js应用程序?,javascript,node.js,debugging,google-chrome-devtools,Javascript,Node.js,Debugging,Google Chrome Devtools,如何调试Node.js服务器应用程序 现在,我主要对打印语句使用警报调试,如下所示: sys.puts(sys.inspect(someVariable)); 必须有更好的调试方法。我知道它有一个命令行调试器。这个调试器也可用于Node.js吗?作为Google的一部分发布的调试器可用于调试Node.js脚本。有关这项工作原理的详细说明,请参见。可以节省时间!从任何支持的浏览器使用它。断点、探查器、livecoding等。。。真是太棒了 安装时请使用: npm install -g node-

如何调试Node.js服务器应用程序

现在,我主要对打印语句使用警报调试,如下所示:

sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道它有一个命令行调试器。这个调试器也可用于Node.js吗?

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

可以节省时间!从任何支持的浏览器使用它。断点、探查器、livecoding等。。。真是太棒了

安装时请使用:

npm install -g node-inspector
然后运行:

node-debug app.js

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

节点调试脚本.js


手动:Node.js中有内置的命令行。Cloud 9 IDE也有非常好的(可视的)。

如果您需要一个强大的Node.js日志库,这是一个更好的选择

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

我个人使用它,因为它是我发现的唯一一个JavaScript IDE,它对前端和后端JavaScript都很好

它可以在多个操作系统上工作,并且内置了Node.js调试功能(以及大量其他功能)()

我唯一的“问题”/愿望列表项目是

  • 在Mac上,它似乎比Windows更需要资源。在版本6中,它似乎不再是一个问题
  • 如果它有代码片段支持(比如键入'fun'并点击'tab'将其放入函数中。请参阅下面的@WickyNilliams注释)那就太好了。使用Live模板,您也可以获得代码片段支持

  • 假设您的计算机上安装了node inspector(如果没有,只需键入“npm安装-g node inspector”),您只需运行:

    node-inspector & node --debug-brk scriptFileName.js
    
    并将URI从命令行粘贴到WebKit(Chrome/Safari)浏览器中。

    轮廓
  • 节点--prof./app.js
  • 节点——prof进程/生成的日志文件
    火焰图
    • 然后
    • 及-
    追踪
    登录中 输出调试信息的库

    增强堆栈跟踪信息的库

    标杆管理
    • ab-n100000-c1http://127.0.0.1:9778/
    其他
    遗产 这些用于工作,但不再维护或不再适用于现代节点版本

    • -替换为内置调试
    • -由节点检查器替换
    • -不复存在
    是Adobe research的一个项目,它允许您在其开源编辑器中调试Node.js代码。它具有一些有趣的功能,如实时代码覆盖、追溯检查、异步调用树


    我为那些不确定从何处开始的人总结了使用的简短说明。

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

    Nodeclipse在年成为#1。它使用了一个经过修改的调试器(来自Google Chrome Developer Tools for Java)

    Nodeclipse是免费的开源软件。

    为了完整性:


    .2012或2013包含一个调试器。概述说明“适用于Visual Studio的Node.js工具包括对调试节点应用程序的完全支持。”。作为Node.js的新手,但有.NET背景,我发现此加载项是调试Node.js应用程序的一种很好的方法。

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

    node-debug -p 8888 scriptFileName.js
    
    在代码中的某个地方放一条简单的语句,正常运行脚本,node将停止当前线程,让您可以访问所有变量和函数。随意查看/编辑/删除它们

    var 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: ->
        10
    
    fizz = new FizzBuzz()
    fizz.run()
    

    如果您使用的是,则可以安装节点调试器包。

    我编写了一种不同的方法来调试node.js代码,该方法稳定且非常简单。可在上获得

    一个开源的跨平台可视化调试器

    安装:

    npm安装铁节点-g;

    调试:

    iron node yourscript.js;

    非常适合node.js

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

    提供了非常好的Node.js调试支持。它是免费的、开源的、跨平台的,在Linux、OSX和Windows上运行


    你甚至可以调试,如果你需要…

    这里有很多很好的答案,但是我想添加我的观点(基于我的方法的发展)

    除错记录 让我们面对现实吧,我们都喜欢一个好的
    控制台.log('哦,如果你到了这里,你最好跑一跑')
    有时候效果很好,所以如果你不想离它太远,至少在你的日志中添加一些闪光点

    交互式调试 尽管控制台日志记录非常方便,但要进行专业调试,您需要卷起袖子,陷入困境。设置断点,逐步检查代码,检查作用域和变量,以查看是什么导致了这种奇怪的行为。正如其他人所提到的,真正的原因是错误。它可以使用内置调试器执行所有操作,但使用熟悉的Chrome开发工具界面。 如果您像我一样使用Webstorm
    ,那么这是一个方便的调试指南

    堆栈跟踪 默认情况下,我们无法跨事件循环的不同周期(滴答声)跟踪一系列操作

    内存渗漏体 使用Node.js,我们可以让服务器进程保持相当长的运行时间。如果您认为它引发了一些严重的泄漏,您会怎么做?使用和Chrome DevTools比较一些快照,看看有什么变化


    为了一些有用的文章
    node --inspect server.js
    
    DEBUG_LEVEL=all node file.js
    DEBUG=* node file.js
    node file.js --inspect