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

但是服务器端开发语言node.js 一直以来调试不是特别方便,可能是之前被 virtual studio惯坏了,这种用 console.log() 去打印变量甚至回调数据实在是太蹩脚.

当然,有一款很强大的IDE ,webstrom对node.js提供了最全面的支持,也可以轻松配置来实现调试,下回有必要和大家分享一次.

今天要分享的是关于 node-inspector 下调试node.js程序.

第一步:

npm install -g node-inspector

全局安装 node-inspector

node-inspector@0.9. /usr/local/lib/node_modules/node-inspector
├── which@1.0.
├── async@0.9.
├── semver@3.0.
├── yargs@1.3.
├── debug@1.0. (ms@0.6.)
├── strong-data-uri@0.1. (truncate@1.0.)
├── rc@0.5. (strip-json-comments@0.1., deep-extend@0.2., ini@1.3., minimist@0.0.)
├── serve-favicon@2.2. (ms@0.7., fresh@0.2., parseurl@1.3., etag@1.5.)
├── glob@4.5. (inherits@2.0., once@1.3., inflight@1.0., minimatch@2.0.)
├── express@4.12. (merge-descriptors@1.0., utils-merge@1.0., cookie-signature@1.0., methods@1.1., fresh@0.2., cookie@0.1., escape-html@1.0., range-parser@1.0., content-type@1.0., finalhandler@0.3., vary@1.0., parseurl@1.3., serve-static@1.9., content-disposition@0.5., path-to-regexp@0.1., depd@1.0., qs@2.4., debug@2.1., etag@1.5., on-finished@2.2., send@0.12., accepts@1.2., type-is@1.6., proxy-addr@1.0.)
├── biased-opener@0.2. (opener@1.4., minimist@1.1., x-default-browser@0.3., browser-launcher2@0.4.)
├── ws@0.4. (tinycolor@0.0., options@0.0., commander@2.1., nan@1.0.)
├── v8-debug@0.4. (nan@1.7.)
└── v8-profiler@5.2. (nan@1.5.)

显示如上代码说明安装成功.

第二步:

终端定位到你要调试的项目根目录下

localhost:nodeREST hywanliyuan$ 

输入如下指令启动项目

localhost:nodeREST hywanliyuan$ node --debug server.js
Debugger listening on port
listen

上面的 server.js 是我项目的启动文件,

下面接着输出在端口 5858 下监视调试器.

最下面是是程序启动文件 app.js 输出内容, listen 8000

第三步:

打开另外一个终端,定位到要调试项目的根目录,然后输入

node-inspector

运行得到如下结果

localhost:nodeREST hywanliyuan$ node-inspector
Node Inspector v0.12.8
Visit http://127.0.0.1:8080/?port=5858 to start debugging.

告诉我们调试器运行在 本地 127.0.0.1:8080 下.我们复制上面的调试地址.

第四步:

选择一款支持 node-inspector 的浏览器,你可以选择 chrome 或者 firefox

我用的是 chrom 打开:

你可以在浏览器看到启动页的所有代码都被读取出来,左侧单击鼠标即可创建一个端点,如上图 console.log 前我点了一个断点.

右侧操作界面可以选择继续运行,或者单步运行(快捷键F10)

下方的界面显示变量值和输出.用起来还是相当不错的,如果在单步模式下调试,会一层一层深入的核心模块中的代码.    源代码地址

nodejs的调试(node-inspector)的更多相关文章

  1. nodejs 使用Google浏览器进行可视化调试——Node Inspector工具

    1.npm安装Node Inspector工具,全局安装 命令行执行npm install -g node-inspector 2.启动Node Inspector工具,命令行执行 node-insp ...

  2. 快捷使用Node Inspector调试NodeJS

    一:介绍 NodeJS开发有很多种调试方式,比如输出Log.WebStorm自带的调试器.Node Inspector等,其中Node Inspector是比较流行和被推荐的一种. 但是Node In ...

  3. NodeJs之调试

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

  4. node-debug 三法三例之node debugger + node inspector

    大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3法3例,希望能对大家有所帮助 文档地址  ht ...

  5. nodejs的调试

    js的调试始终是一个比较麻烦也是比较困难的事情,从最原始的alert调试,到火狐的firebug工具,在到后来各个浏览器厂商的调试工具.调试工具的发展历程,也可以看出由JS构建的业务和技术逻辑越来越复 ...

  6. Node Inspector 代理实现

    本文首发于 https://github.com/whxaxes/blog/issues/9 背景 平时做 node 开发的时候,通过 node inspector 来进行断点调试是一个很常用的 de ...

  7. 优雅的使用Chrome调试Node程序

    前言 我不知道大家用什么来调试node程序.可能有的人用node-inspect,但是这货很久没更新了,而且一堆的bug用起来很不爽:可能有的人用命令行来,但是这样操作不够灵活:还有人只用consol ...

  8. sublime配置nodejs运行调试js

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

  9. Nodejs chrome 调试node-inspector

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

  10. 如何调试Node.js

    Debugging Node.js with Chrome DevTools https://nodejs.org/en/docs/guides/debugging-getting-started/ ...

随机推荐

  1. js的in运算符与instanceof运算符

    in运算符:希望他的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象.如果右操作数的对象拥有一个名为左操作数值的属性名,那么表达式返回true. var point= {x:1,y: ...

  2. Windows SEH学习 x86

    windows 提供的异常处理机制实际上只是一个简单的框架.我们通常所用的异常处理(比如 C++ 的 throw.try.catch)都是编译器在系统提供的异常处理机制上进行加工了的增强版本.这里先抛 ...

  3. Eclipse Java EE 创建 Dynamic Web Project

    1.      创建一个web工程,此处用eclipse创建(如果对创建web工程很熟悉,可以不看的,本文目的是做一个记录)  1)     打开新建工程对话框,选择Dynamic web Proje ...

  4. C# Task的使用---Task的启动

    .NET 4.0包含的新名称空间System.Threading.Tasks,它包含的类抽象出了线程功能.任务表示应完成的某个单元的工作.这个单元的工作可以在单独的线程中运行,也可以以同步的方式启动一 ...

  5. 在.NET中使用Newtonsoft.Json转换,读取,写入的方法介绍

    全局引用 using Newtonsoft.Json; using Newtonsoft.Json.Converters; //把Json字符串反序列化为对象 目标对象 = JavaScriptCon ...

  6. SVN使用之分支、合并

    首先说下为什么我们需要用到分支-合 并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正 进行到一半的工作[ ...

  7. 在linux/unix中查找大文件

    在linux/unix中查找大文件,如查找大于100M文件的位置路径,查找等于10M文件的位置路径等等,下面就介绍几个实现快速查找的命令: 1. 查找指定目录下所有大于100M的文件,命令为 find ...

  8. 让ie6也支持max-width,和max-height实现图片等比例缩放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. wordpress自定义栏目

    开启自定义栏目:点击头顶的“显示选项”,勾选“自定义栏目” 然后编辑文章时,即可看见 实验: 定义名称为:play_url ,值为:http://www.xiami.com/widget/635357 ...

  10. #-webkit-autofill##google#启用表单自动填充时,如何覆盖黄色背景

    google和opera浏览器的表单自动填充后,输入框均会变成黄色背景,黑色字体.如下图. 这样的话会与网页的整体设计风格不一致,怎样自定义样式,来覆盖黄色背景. 首先来看看是什么导致的,右键查看元素 ...