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 深度调试方法解析
# 所示
# 一句
# 给大家
# 行号
# 可以利用
# 命令行
# 如图所示
# 第一个
# 不需要
# 可以用
# 可以通过
# 希望能
# 可以使用
# 还可
# 这篇
# 所处
# 小编
# 可执行
# 可利用
相关文章:
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
已有域名如何免费搭建网站?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何选择域名并搭建高效网站?
广州营销型建站服务商推荐:技术优势与SEO优化解析
桂林网站制作公司有哪些,桂林马拉松怎么报名?
,交易猫的商品怎么发布到网站上去?
南京网站制作费用,南京远驱官方网站?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何选择香港主机高效搭建外贸独立站?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
高防服务器租用如何选择配置与防御等级?
如何通过主机屋免费建站教程十分钟搭建网站?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
建站之星如何配置系统实现高效建站?
北京制作网站的公司,北京铁路集团官方网站?
手机网站制作与建设方案,手机网站如何建设?
香港服务器租用每月最低只需15元?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
制作网站的基本流程,设计网站的软件是什么?
如何快速搭建FTP站点实现文件共享?
如何在宝塔面板中修改默认建站目录?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星如何防范黑客攻击与数据泄露?
如何在橙子建站中快速调整背景颜色?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
简历在线制作网站免费版,如何创建个人简历?
教学网站制作软件,学习*后期制作的网站有哪些?
建站VPS推荐:2025年高性能服务器配置指南
Java解压缩zip - 解压缩多个文件或文件夹实例
制作宣传网站的软件,小红书可以宣传网站吗?
如何快速生成专业多端适配建站电话?
建站之星安装步骤有哪些常见问题?
免费视频制作网站,更新又快又好的免费电影网站?
黑客如何通过漏洞一步步攻陷网站服务器?
建站之星如何快速生成多端适配网站?
,怎么在广州志愿者网站注册?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
如何配置IIS站点权限与局域网访问?
如何登录建站主机?访问步骤全解析
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
音响网站制作视频教程,隆霸音响官方网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何选择靠谱的建站公司加盟品牌?
*请认真填写需求信息,我们会在24小时内与您取得联系。