1.在命令行窗口中,可以使用"node debug" 命令来启用调试器,代码如下:

node debug<需要被执行的脚本文件名>接下来根据一个实例进行学习调试过程:
编写app.js文件进行调试:
console.log('hello,word')
function foo(){
console.log('hello,foo')
return 100;
}
var bar = 'This is a pen';
var http = require('http')
var i = foo();
console.log(i)
1 在命令行窗口使用"node debug"命令,结果如下所示:
[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
2 function foo(){
3 console.log('hello,foo')
debug>
在Node.js中提供了一个可以通过简单TCP协议来访问的调试器,进入调试后,首先连接调试器,如上图所示出现Debugger并后面跟有ok,说明调试器已经成功使用。"break in app.js:1" 表示脚本程序暂停的位置
2 继续执行可输入"cont"或"c",继续执行剩余的代码,结果如下所示:
[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
2 function foo(){
3 console.log('hello,foo')
debug> c
< hello,word
< hello,foo
< 100
3 如果不需要执行剩余的所有脚本代码,输入"next"或"n"将程序执行到下一句可执行代码前,如下所示:
[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
2 function foo(){
3 console.log('hello,foo')
debug> n
< hello,word
break in app.js:6
4 return 100;
5 }
> 6 var bar = 'This is a pen';
7 var http = require('http')
8 var i = foo();
debug>
4 如果想进入函数进行调试,可以在函数被调用出输入命令"step"或"s",进入函数体,如图所示:
break in app.js:8
6 var bar = 'This is a pen';
7 var http = require('http')
> 8 var i = foo();
9 console.log(i)
10
debug> s
break in app.js:3
1 console.log('hello,word')
2 function foo(){
> 3 console.log('hello,foo')
4 return 100;
5 }
debug>
5 在函数体中可以用"n",逐步进行调试,还可输入"out"或"o" 立即执行完函数内所有代码,程序将暂停到被调用函数代码后的一句代码前,如图所示:
break in app.js:3
1 console.log('hello,word')
2 function foo(){
> 3 console.log('hello,foo')
4 return 100;
5 }
debug> n
< hello,foo
break in app.js:4
2 function foo(){
3 console.log('hello,foo')
> 4 return 100;
5 }
6 var bar = 'This is a pen';
debug> o
break in app.js:9
7 var http = require('http')
8 var i = foo();
> 9 console.log(i)
10
11 });
debug>
6 利用watch可以观察变量或一些表达式的值,利用unwatch可以取消观看,具体应用如下代码所示:
break in app.js:1
> 1 console.log('hello,word')
2 function foo(){
3 console.log('hello,foo')
debug> watch("i")
debug> watch("i==100")
debug> n
< hello,word
break in app.js:6
Watchers:
0: i = undefined
1: i==100 = false
4 return 100;
5 }
> 6 var bar = 'This is a pen';
7 var http = require('http')
8 var i = foo();
debug> n
break in app.js:7
Watchers:
0: i = undefined
1: i==100 = false
5 }
6 var bar = 'This is a pen';
> 7 var http = require('http')
8 var i = foo();
9 console.log(i)
debug> n
break in app.js:8
Watchers:
0: i = undefined
1: i==100 = false
6 var bar = 'This is a pen';
7 var http = require('http')
> 8 var i = foo();
9 console.log(i)
10
debug> n
< hello,foo
break in app.js:9
Watchers:
0: i = 100
1: i==100 = true
7 var http = require('http')
8 var i = foo();
> 9 console.log(i)
10
11 });
debug> unwatch("i")
debug> unwatch("i==100")
debug> n
< 100
break in app.js:11
9 console.log(i)
10
>11 });
debug>
7 可以利用setBreakpoint(filename,line)或cb(filename,line),设置断点,第一个参数为设置断点的文件名,不填默认为i正在运行的文件,line为需要加断点的行号;可以利用clearBreakPoint(filename,line)或cb(filename,line)取消断点
8 使用list(n)可以显示所调试语句的前几后与后几行代码
9 使用repl可以特推出debug模式
10 使用restart可以重新开始文本调试
11 使用kill终止脚本文件调试
12 利用kill终止文本调试后可利用run重新开始
13 利用backtrace或bt可以返回运行代码的所处位置
14 利用script可以查看所有被加载的模块名称
以上这篇基于node.js之调试器详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# nodejs
# 调试器
# vscode调试node.js的实现方法
# Node.js使用supervisor进行开发中调试的方法
# 详解如何在vscode里面调试js和node.js的方法步骤
# sublime text配置node.js调试(图文教程)
# 详解使用Visual Studio Code对Node.js进行断点调试
# Node.js利用debug模块打印出调试日志的方法
# Node.js调试技术总结分享
# 利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
# 调试Node.JS的辅助工具(NodeWatcher)
# Node.js 深度调试方法解析
# 所示
# 一句
# 给大家
# 行号
# 可以利用
# 命令行
# 如图所示
# 第一个
# 不需要
# 可以用
# 可以通过
# 希望能
# 可以使用
# 还可
# 这篇
# 所处
# 小编
# 可执行
# 可利用
相关文章:
如何做静态网页,sublimetext3.0制作静态网页?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
广平建站公司哪家专业可靠?如何选择?
建站之星安装步骤有哪些常见问题?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
如何选择适配移动端的WAP自助建站平台?
香港服务器WordPress建站指南:SEO优化与高效部署策略
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何通过虚拟主机快速完成网站搭建?
如何在七牛云存储上搭建网站并设置自定义域名?
如何通过智能用户系统一键生成高效建站方案?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
招贴海报怎么做,什么是海报招贴?
如何撰写建站申请书?关键要点有哪些?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
如何在阿里云服务器自主搭建网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
桂林网站制作公司有哪些,桂林马拉松怎么报名?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
建站之星代理如何获取技术支持?
如何高效完成自助建站业务培训?
如何通过商城免费建站系统源码自定义网站主题?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
如何快速搭建FTP站点实现文件共享?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何使用Golang table-driven基准测试_多组数据测量函数效率
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
音乐网站服务器如何优化API响应速度?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何在西部数码注册域名并快速搭建网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
建站主机如何选?性能与价格怎样平衡?
如何用IIS7快速搭建并优化网站站点?
如何通过网站建站时间优化SEO与用户体验?
网站设计制作企业有哪些,抖音官网主页怎么设置?
浅谈Javascript中的Label语句
网站制作话术技巧,网站推广做的好怎么话术?
微课制作网站有哪些,微课网怎么进?
长沙做网站要多少钱,长沙国安网络怎么样?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
股票网站制作软件,网上股票怎么开户?
实例解析Array和String方法
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
*请认真填写需求信息,我们会在24小时内与您取得联系。