我们在接触客户端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. 两个奇葩的C/C++问题

    今天为大家介绍几个奇葩的C/C++问题. 1 大家看看下面的输出结果是什么呢? #include <stdio.h> #include <stdlib.h>   void ma ...

  2. hdu 4111 Alice and Bob(中档博弈题)

    copy VS study 1.每堆部是1的时候,是3的倍数时输否则赢: 2.只有一堆2其他全是1的时候,1的堆数是3的倍数时输否则赢: 3.其他情况下,计算出总和+堆数-1,若为偶数,且1的堆数是偶 ...

  3. iOS开发--UITableView

    -.建立 UITableView  DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];  [Data ...

  4. iOS xcode设置

    Xcode build search paths c/c++ 头文件引用问题include <> 引用编译器的类库路径下的头文件include “” 引用工程目录的相对路径的头文件 inc ...

  5. CentOS系统启动过程1-10 详细叙述

    昨日有个前辈问我,liunx系统是如果启动的,我只是说了个大概,但具体的过程没有理解透彻,今天特意在网上找到下面的流程图,并根据图,进行了详细叙述,如有问题,请指出. 启动第一步--加载BIOS  设 ...

  6. Android APP安全评估工具 Drozer - 使用介绍

    一.列出drozer当前可用的所有模块dz> list dz> list app.activity.forintent Find activities that can handle th ...

  7. HDOJ ----Phone List

    Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)

    import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...

  9. 18.allegro区域约束规则设置

    一.线宽和线间距 --- ---------------- 然后再电路板上创建一个区域 ----- ---- --- ---- ------------------------------

  10. Objective-C编码规范:26个方面解决iOS开发问题

    介绍 我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致.即使我们有很多不同的作者来完成不同的书籍. 这里编码规范有可能与你看到的其他Object ...