3.4  调试        47 

下面是一个简单的例子:

$ node debug debug.js

< debugger listening on port 5858 connecting... ok

break in /home/byvoid/debug.js:11 var a = 1;

2 var b = 'world';

3 var c = function (x) { debug> n

break in /home/byvoid/debug.js:21 var a = 1;

2 var b = 'world';

3 var c = function (x) {

4    console.log('hello ' + x + a); debug> sb('debug.js', 4)

1  var a = 1;

2  var b = 'world';

3  var c = function (x) {

*  4   console.log('hello ' + x + a);

5  };

6  c(b);

7  });

debug> c

break in /home/byvoid/debug.js:42 var b = 'world';

3 var c = function (x) {

* 4   console.log('hello ' + x + a);

5  };

6  c(b); debug> repl

Press Ctrl + C to leave debug repl

>  x

'world' > a + 1 2

debug> c

< hello world1 program terminated

3.4.2  远程调试

V8 提供的调试功能是基于 TCP 协议的,因此 Node.js 可以轻松地实现远程调试。在命 令行下使用以下两个语句之一可以打开调试服务器:

node

--debug[=port] script.js

10

node

--debug-brk[=port] script.js

48        第 3 章    Node.js 快速入门

node --debug 命令选项可以启动调试服务器,默认情况下调试端口是 5858,也可以 使用 --debug=1234 指定调试端口为 1234。使用 --debug 选项运行脚本时,脚本会正常 执行,但不会暂停,在执行过程中调试客户端可以连接到调试服务器。如果要求脚本暂停执 行等待客户端连接,则应该使用 --debug-brk 选项。这时调试服务器在启动后会立刻暂停 执行脚本,等待调试客户端连接。

当调试服务器启动以后,可以用命令行调试工具作为调试客户端连接,例如:

//在一个终端中

$ node --debug-brk debug.js

debugger listening on port 5858

//在另一个终端中

$ node debug 127.0.0.1:5858 connecting... okdebug> n

break in /home/byvoid/debug.js:21 var a = 1;2 var b = 'world';

3 var c = function (x) {

4 console.log('hello ' + x + a); debug>

事实上,当使用 node debug debug.js 命令调试时,只不过是用 Node.js 命令行工 具将以上两步工作自动完成而已。

nodejs学习笔记Node.js 调试命令的更多相关文章

  1. NodeJS学习笔记 (19)进阶调试-debugger(ok)

    写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过nod ...

  2. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  3. NodeJS学习笔记 (18)基础调试-console(ok)

    模块概览 console模块提供了基础的调试功能.使用很简单,常用的API主要有 console.log().console.error(). 此外,可以基于Console类,方便的扩展出自己的con ...

  4. 学习笔记——node.js

    node.js的作用在于,号称可以让服务器支持更多的连接.比如说,php + apche可以让服务器支持4000个并发连接,那么node.js + apche可以让服务器支持并发几万个. 为什么这么牛 ...

  5. [学习笔记]node.js中的path.extname方法

    path.extname 返回path路径文件扩展名,如果path以 ‘.' 为结尾,将返回 ‘.',如果无扩展名 又 不以'.'结尾,将返回空值. path.extname('index.html' ...

  6. node.js调试

    用了几天node.js感觉很新奇,但是调试问题实在是愁煞人,开始的时候懒的学习调试方法,看看异常内容就可以了,但随着代码复杂程度的上升,并不是所有错误都是语法错误了,不调试搞不定了,只好搜搜资料,学习 ...

  7. Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

    目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...

  8. Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识

    前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...

  9. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

随机推荐

  1. 【Java NIO的深入研究】 ServerSocketChannel

    Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样.ServerSocketChannel类在 jav ...

  2. 解决RaycastTarget勾选过多的烦恼

    看过UGUI源码的朋友一定都知道,UI事件会在EventSystem在Update的Process触发.UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到 ...

  3. 告诉你html5比普通html多了哪些东西?

  4. Java 中 Map与JavaBean实体类之间的相互转化

    /** * 将一个 JavaBean 对象转化为一个  Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的  Map 对象 * @throws Intr ...

  5. ionic函数 官方使用帮助

    项目里 lib/js/ionic.bundle.js 里很多ionic的函数,里面还带了很多使用示例,认真看一下肯定会对使用ionic有很多帮助啊!! 例如:$http

  6. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

    MySQL在linux安装之后,连接到服务,报了下面的错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socke ...

  7. [直观学习排序算法] 视觉直观感受若干常用排序算法 以及 iOS 资料

    http://www.zhfish.net/?s=点击范围 1 快速排序 介绍: 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则 ...

  8. poj_1988 并查集

    题目大意 开始有N堆砖块,编号为1,2....N,每堆都只有一个.之后可以进行两种操作: (1)M X Y 将编号为X的砖块所在的那堆砖拿起来放到编号为Y的砖块所在的堆上: (2)C X 查询编号为X ...

  9. nginx代理学习

    一.windows下nginx代理ftp服务器 我所在的开发环境里,nginx和ftp在同一台服务器. ftp根目录: nginx的配置: 在nginx.conf中加入: server { liste ...

  10. MACOS配置VIM成简单IDE傻瓜式操作

    零.参考文献: https://www.jianshu.com/p/f0513d18742a 一.安照我的配置:保存文件 " Configuration file for vim " ...