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. discuz!版本号信息改动步骤

    建完网站后,就到了改动discuz! 论坛的步骤了,,将其改动为自己喜欢的样子.是非常有意思的,废话不多说了.以下给大家介绍改动的方法. 1.[改动后台-首页的版权]打开ftp.连接网站,进入到:/f ...

  2. Flash Builder 创建CSS

    1.global 选择器将样式应用于所有控件 Ÿ 在 Flash Builder 中创建新MXML 文件并切换到设计模式 Ÿ 属性视图右侧的外观视图可更改外观 Flash Builder 自动创建CS ...

  3. VS项目如何运用svn的忽略列表

    在实际的项目开发中,有些文件(比如bin,obj下的文件)是不需要放在svn里面的,因为每次都会重新生成. 该如何排除这些文件那? 我试着在svn server上删除了这些文件夹,但是在文件夹上还是显 ...

  4. ThinkPHP CURD方法盘点:where方法

    今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置.where方法的用法是ThinkPHP查询语言的精髓,也是Think ...

  5. EXE文件结构及读取方法

    一.EXE文件概念 EXE File英文全名executable file ,译作可运行文件,可移植可运行 (PE) 文件格式的文件,它能够载入到内存中,并由操作系统载入程序运行.是可在操作系统存储空 ...

  6. starling localToGlobal

    o.localToGlobal(new Point());   返回o在舞台的全局坐标... o.parent.localToGlobal(new Point(o.x,o.y))   //返回指定坐标 ...

  7. Models and the ServiceManager

    Models and the ServiceManager In the previous chapter we've learned how to create a "Hello Worl ...

  8. oracle 不转义 &

    在为表加注释,遇到有些注释包含'&' 但又不想写eacape, 在sqlplus下,set define off   即可将&输入到数据库中.

  9. Flume连接Kafka的broker出错

    在启动Flume的时候,出现下面的异常,但是程序照样能运行,Kafka也能够收到数据,只是偶尔会断点. 2016-08-25 15:32:54,561 (SinkRunner-PollingRunne ...

  10. C语言进行CGI程序设计

    一.CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准.Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给 ...