全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于node.js之调试器详解

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小时内与您取得联系。