js的调试始终是一个比较麻烦也是比较困难的事情,从最原始的alert调试,到火狐的firebug工具,在到后来各个浏览器厂商的调试工具。调试工具的发展历程,也可以看出由JS构建的业务和技术逻辑越来越复杂,最初的调试工具已经不能很好的满足复杂逻辑调试。随着nodejs在服务端变得越来越热门,对于nodejs的调试也成了各个nodejs开发人员头痛的问题,还好现在各种调试工具也在不断的出现。今天主要总结一下命令行调试工具和inspector调试工具。

一 命令行调试工具使用

命令行调试工具使用,需要在启动js文件,通过这样的方式: node debug  example.js,

》 node debug example.js

调试模式启动之后,默认程序停在了当前执行文件的第一行, 可以通过 next(n) 下一步, continue(cont), 执行到下一个断点,run(r)执行程序完成 ,step(s)进入函数内部,out(o)退出函数内部,backtrace(bt)打印当前执行堆栈, setBreakpoint(sb) 设置断点, clearBreakpoint(cb) 清楚断点, repl开启一个表达式执行控制台,restart重启调试,list(k)列出当前行,前后k行代码, scripts已经加载的JS文件列表等。

对于watch 和unwatch命令,能够增加对变量值的监控,通过watch('a), 之后,可以实时查看变量a值的变化,同时也可以通过unwatch('a')的方式取消监控。

还有另外一种方式启动调试模式,即通过kill命令给执行的node进程发送SIGUSR1信号,发送方式为: kill -s USR1 pid,

通过命令行的方式,可以在需要调试的时候,快速进入调试,从而解决问题,但是对于对命令行操作感觉有点困难的人来说,这个不是很友好的方式。当然inspector这方面就可能比较有优势。

二 inspector调试工具的使用

 当然Inspector调试工具集成了V8引擎内部的调试API和Blink的界面交互功能,从而使的服务端JS的调试也可以像浏览器端调试JS那样方便。但是这种调试方式也只能在具有       blink开发工具的浏览器下进行。

为了能够使用inspector工具,首先需要安装他,当然了这个只是作为开发的全局安装: npm install -g node-inspector

安装完成之后,要调试某个JS文件,首选需要开启调试模式,比如上边的example.js 那么开启模式为:node debug example.js

然后在另外的terminal 启动 inspector ,启动方式为: node-inspector ,操作界面是每个前端都非常熟悉的界面,如下:

通过这两种方式,后期我们在开发的时候,就能够很好的调试nodejs。

nodejs的调试的更多相关文章

  1. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  2. nodejs的调试debug

    目录 简介 开启nodejs的调试 调试的安全性 使用WebStorm进行nodejs调试 使用Chrome devTools进行调试 使用node-inspect来进行调试 其他的debug客户端 ...

  3. Linux下用node-inspector实现NodeJS远程调试开发

    1.首先安装 node-inspector npm install -g node-inspector -g表示全局安装,如果像我一样安装失败,再试几次,npm偶尔就会这样抽风... 这一步是关键的, ...

  4. sublime配置nodejs运行调试js

    node.js调试javascript的配置 1. 首先到 nodejs.org 下载 Node.js 安装包并安装.2. 打开 Sublime Text 编辑器.选择菜单 Tools --> ...

  5. Nodejs chrome 调试node-inspector

    1.下载扩展: 全局安装 npm install -g node-inspector 2.开启debug调试: node --debug[=port] filename (默认端口5858)node ...

  6. 搞定 NodeJS 开发调试

    代码调试有时候是一种充满挑战的工作,如果有一个趁手的调试工具的话,往往可以做到事半功倍的效果.得益于这些年的快速发展,在 NodeJS 生态中已经有了多种调试工具可以使用.我们今年就来分享几个常用的调 ...

  7. nodejs的调试(node-inspector)

    我们在接触客户端javascript的时候,调试利器就是firebug ,也是当年为何喜欢用上firefox 浏览器的主要动力,当然,后来 chrome 插件里也出现了firebug的身影..... ...

  8. nodejs开发调试时,使用supervisor

    如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重 ...

  9. NodeJS代码调试

    1.在Chrome打开chrome://flags/#enable-devtools-experiments 2.激活Developer Tools experiments 3.重启Chrome 4. ...

随机推荐

  1. java Swing图形化界面

    学过java的人应该对java的图形化界面很是反感,特别是接触java不久的人.如果想和其他语言那样用鼠标拖拽,可以使用wondosbulider插件.但是用起来也不是那么方便.当然对于不乐意写代码的 ...

  2. zigbee 学习记录之一:资料搜索

    先从网络来一段资料吧,在学习过程中慢慢整理资料. <由于zigbee 以cc2530 51单片机为基础,Zstack为源头,比较成熟了,学习和摸索就从Zstack开始吧.没有师傅,就有从网络上大 ...

  3. [置顶] Java编程笔试题之一 ----文件操作

    题目:给定一个文件和一个字符串,判断文件是否包含该字符串,如果包含,请打印出包含该字符串的行号以及该行的全部内容. 思路: ①使用缓冲流(BufferedReader)读取文件,定义初始行号为0.   ...

  4. MongoDB(四)——管理架构

    前面介绍MongoDB基础,在这里,我们推荐两个网站,我们可以看看,评论是相当具体:http://www.w3cschool.cc/mongodb/mongodb-tutorial.html.http ...

  5. android学习日记26--AIDL之进程间的通信

    1.AIDL介绍 AIDL:Android Interface Definition Language,即Android接口定义语言. 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运 ...

  6. emplace_back与push_back的区别

    std::vector::emplace_back     C++   Containers library   std::vector   template< class... Args &g ...

  7. JavaScript/jQuery选择器简介

    DOM提供的选择器 选择器是帮助我们选择页面元素的工具,在网站制作中常常会涉及到某个元素的改变,通过选择器提取这些元素可以很轻易的实现(DOM术语把所说的“元素”称作是“节点”).JavaScript ...

  8. 一、 Socket之UDP异步传输文件

    用SCOKET 发送文件是一个不太好处理的问题,网上的例子也都是很简单的,我准备写一个比较完善的例子,这个就算是开始吧,以后的都会在这个例子的基础上进行修改,准备实现多线程传输.断点传输和文件传输的完 ...

  9. Debug 之 The state information is invalid for this page and might be corrupted

    1.问题描述: 网站部署之后,排序或者搜索之后报错:The state information is invalid for this page and might be corrupted 2.问题 ...

  10. ubuntu 13.04 root权限设置方法详解

    很多朋友安装升级Ubuntu 13.04之后不知道ubuntu 13.04 root权限设置的具体方法,今天这篇文章就将为大家详细介绍设置root权限的步骤,新手朋友可以来看一看哦~ Ubunto 1 ...