`
jobar
  • 浏览: 347436 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

调试nodejs程序

 
阅读更多
1先来一段测试代码
var http  = require('http');

function onRequest(req,res){
	var content = "hello, debug test";
	var conLength = content.lenggth;
	res.writeHead(200,{
		'content-length': conLength,
		'content-type': 'text/plain'
	});
	res.end(content);
}
http.createServer(onRequest).listen(8080);

保存为debug_server.js

2 debug用到的几个关键命令
■ cont —继续.
■ next —跳到下一条执行语句.
■ step —跳转入下一条语句中,否则的话跳过执行
■ out —从当前执行函数中跳出
■ backtrace —显示当前调用执行堆栈
■ repl —启动Nodejs REPL,可以查看变量值或执行代码
■ watch(expr) —将表达式加入监控列表
■ list( n ) —列出当前执行代码的前/后n行
3 调试
命令:node debug debug_server.js
输出:
< debugger listening on port 5858
connecting... ok
break in C:\Users\xxx\node\debug_server.js:1
  1 var http  = require('http');
  2
  3 function onRequest(req,res){
我们怀疑第5行有问题
debug> list(5)
  1 var http  = require('http');
  2
  3 function onRequest(req,res){
  4     var content = "hello, debug test";
  5     var conLength = content.lenggth;
  6     res.writeHead(200,{
debug> setBreakpoint(5)
  1 var http  = require('http');
  2
  3 function onRequest(req,res){
  4     var content = "hello, debug test";
* 5     var conLength = content.lenggth;
  6     res.writeHead(200,{ 
在第5行设置断点,*表示断点所在位置
在另外一个命令窗口发出请求curl –i http://localhost:8080
你会发现两点:
(1)请求curl命令没有反应
(2)在node debug session下面输出:
break in C:\Users\xxx\node\debug_server.js:5
  3 function onRequest(req,res){
  4     var content = "hello, debug test";
* 5     var conLength = content.lenggth;
  6     res.writeHead(200,{
  7             'content-length': conLength,
我们跳过这一行
debug> next
break in C:\Users\xxx\node\debug_server.js:7
* 5     var conLength = content.lenggth;
  6     res.writeHead(200,{
  7             'content-length': conLength,
  8             'content-type': 'text/plain'
  9     });
现在启动node repl来查看当前变量的值
debug> repl
Press Ctrl + C to leave debug repl
> content
'hello, debug test'
> conLength

我们发现content的值跟预想的一样,但是conLength的值却没有,这就是问题所在了。
4 其他调试方式
当然了我们还可以在代码中插入类似console.log(变量名)的方法来打印变量的值进行调试
分享到:
评论

相关推荐

    保姆级教程:VsCode调试docker中的NodeJS程序.doc

    VsCode 调试 Docker 中的 NodeJS 程序 VsCode 是一个功能强大且灵活的集成开发环境(IDE),它提供了丰富的插件和扩展功能,可以满足不同开发者的需求。在 NodeJS 开发中,VsCode 是一个非常流行的选择,因为它提供...

    vsCode与nodejs程序安装包.zip

    标题"vsCode与nodejs程序安装包.zip"暗示了这是一个包含Visual Studio Code(简称vsCode)编辑器和Node.js程序安装文件的压缩包。vsCode是微软开发的一款强大的源代码编辑器,支持多种编程语言,具有丰富的插件系统...

    Nodejs连接eclipse调试

    对于开发者而言,掌握如何有效地调试 Node.js 应用程序是一项必备技能。本文将详细介绍如何通过 Eclipse 集成开发环境(IDE)进行 Node.js 应用程序的调试。 #### 一、安装 Google V8 Eclipse 插件 为了实现 ...

    nodejs调试

    Eclipse将启动一个新的调试视图,展示程序执行的断点、变量值、调用堆栈等信息。在代码中设置断点,然后通过浏览器访问你的应用(http://localhost:3000),当请求到达断点时,程序会暂停,此时你可以检查变量状态,...

    Atom-xatom-debug-nodejs,用于xatom调试的nodejs调试器插件。对xatom的贡献.zip

    Atom-xatom-debug-nodejs是一个专为Atom文本编辑器设计的插件,主要用于帮助开发者进行Node.js应用程序的调试工作。这个插件是建立在xatom框架之上,为用户提供了一个直观且功能丰富的调试环境,使得在Atom中调试...

    NodeJS开发指南_nodejs开发指南_

    2. 第一个NodeJS程序:通常,NodeJS程序始于一个`.js`文件,通过`console.log()`输出信息。例如: ```javascript console.log('Hello, World!'); ``` 二、模块系统 NodeJS采用CommonJS规范,支持模块化开发。`...

    node-ray:使用Ray调试NodeJS代码以更快地解决问题

    node-ray节点射线用Ray调试NodeJS代码以更快地解决问题该软件包可以安装在任何NodeJS,ES6 +或TypeScript应用程序中,以将消息发送到。安装使用npm安装: npm install node-ray 或纱线: yarn add node-ray可用环境...

    pc端微信小程序包wxapkg文件解密,nodejs版本。.zip

    在微信小程序的开发过程中,开发者通常会将代码打包成一个名为`wxapkg`的文件,这是一种加密格式,用于保护代码不被轻易反编译。本文将深入探讨如何使用Node.js来解密PC端的微信小程序`wxapkg`文件。 微信小程序的`...

    微信小程序会话服务nodejs版

    在给定的“微信小程序会话服务nodejs版”中,我们可以看到一个基于Node.js的解决方案,用于处理微信小程序的会话验证问题,特别是对于本地开发和调试。 首先,我们来看核心技术——Node.js。Node.js是一个基于...

    nodejs-demo改进版

    7. **日志记录**: 可能还涉及到了日志记录,以便调试和监控应用状态。 总的来说,"nodejs-demo2" 是一个适合初学者的 Node.js 入门示例,通过它,你可以学习到 Node.js 的基本概念和常用操作,为进一步深入学习和...

    基于nodejs微信小程序学生宿舍管理系统源码.zip

    描述中的"基于nodejs微信小程序学生宿舍管理系统源码.zip"再次强调了系统的核心技术和组成部分,即使用Node.js作为后台处理和微信小程序作为用户界面。源码通常包括了程序的所有代码文件,开发者可以通过查看和修改...

    wafer-quickstart nodejs

    【标题】"wafer-quickstart nodejs" 是一个针对微信小程序开发的快速启动项目,主要使用 Node.js 作为后端服务。这个项目是为帮助开发者迅速搭建基于 Wafer2 SDK 的小程序应用而设计的。Wafer2 是微信提供的一个小...

    基于微信小程序的西餐外卖系统的设计与实现NodeJS(微信小程序完整前后端代码).zip

    7. mp-weixin:这是微信开发者工具的相关文件,用于小程序的开发和调试。开发者可以在这里编写和预览小程序界面,实现功能逻辑,并上传代码至微信开发者平台进行审核发布。 总的来说,这个项目不仅展示了微信小程序...

    NodeJs调试管理器「NodeJs Debug Manager」-crx插件

    节点调试管理器的一个非常beta版本。对于使用--inspect的NodeJs开发人员。...基本上可以使用类似于Nodemon的东西创建包含要调试的应用程序的调试器链接的文件,插件会在调试器更新时刷新调试器。 支持语言:English

    Node.js-调试指南.pdf

    Node.js 调试指南 Node.js 调试指南是一个详细的指南,旨在帮助开发者更好地理解和掌握 Node.js 的调试技术。本指南涵盖了 Node.js 调试的多个方面,包括性能优化、内存分析、错误处理、日志记录、监控等。 CPU 篇...

    使用vs code开发Nodejs程序的使用方法

    调试时,可以直接在VS Code的调试面板中点击运行按钮(F5),设置断点,然后观察程序的执行流程和变量状态。 **知识点五:集成开发环境的优势** 文章提到的“集项目创建、编辑、调试于一体”的集成开发环境(IDE)...

    NODEJS的v18版本

    而`node-v18.15.0-win-x64.zip`是免安装版本,适合那些希望手动配置环境或者在不支持安装程序的环境中使用Node.js的用户。 8. **开发者工具**: v18版本还包括对开发工具的改进,如更好的源映射支持,这对于使用...

    基于微信小程序的西餐外卖系统的设计与实现NodeJS.rar

    通过微信开发者工具,开发者可以编写、调试和预览小程序,确保其在微信环境中正常运行。 在这个项目中,前端部分利用微信小程序框架,设计了用户界面,包括登录注册、商品浏览、购物车管理、订单提交等功能模块。...

Global site tag (gtag.js) - Google Analytics