您的位置:

nodejs代码怎么打断点(JS打断点)

nodejs代码怎么打断点(JS打断点)

更新:

本文目录一览:

WebStorm3.0 调试nodejs 怎么添加断点

如果你的程序要在启动时就开始捕捉,建议在开始前预留几秒的睡眠时间。

在webstorm调试的有个地方默认是选中,请去掉。

不要选中最后的红色雷电标志。

如何调试nodejs

1. 基于Nodejs内建的调试器

Nodejs提供了一个内建调试器来帮助开发者调试应用程序。想要开启调试器我们需要在代码中加入debugger标签,当Nodejs执行到debugger标签时会自动暂停(debugger标签相当于在代码中开启一个断点)。代码如下:

var path = url.parse(req.url).pathname;

debugger;

res.writeHead(200, {'Content-Type': 'text/plain'});

执行命令:node debug example.js 就可以进入调试模式。

在debug模式下,可以使用内建命令如repl去评估变量和表达式的值(如2所示)。我们也可以通过help命令来获取完整的调试命令列表。

Commands: run (r), cont (c), next (n), step (s), out (o), backtrace (bt), setBreakpoint (sb), clearBreakpoint (cb),

watch, unwatch, watchers, repl, restart, kill, list, scripts, breakpoints, version

2. 基于V8插件的调试器

Nodejs是基于google V8的引擎上构建的,Google为Eclipse提供了一个对应的调试插件。关于如何在Eclipse中安装和调试Nodejs程序就不再重复描述了,网上已经有很多的文章了(具体可以参考这篇文章)。唯一要注意的是在默认情况下V8引擎支持的调试模式是本地模式。如果想要开启远程调试的话,我们需要修改Nodejs中的V8源文件:/deps/v8/src/platform-posix.cc

addr.sin_family = AF_INET;

addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); -- INADDR_ANY

addr.sin_port = htons(port);

然后重新编译Nodejs。

提示:

用插件来调试nodejs程序,你有时候会遇到什么connect refuse, get version failed等等错误。那么请注意你使用的ip的地址, 一般下127.0.0.1的回环地址是都工作的。如果你使用真实的ip地址,请检查防火墙设置。

3. 基于Chrome浏览器的调试器

既然我们可以通过V8的调试插件来调试,那是否也可以借用Chrome浏览器的JavaScript调试器来调试呢?node-inspector模块提供了这样一种可能。我们需要先通过npm来安装node-inspector

npm install -g node-inspector // -g 导入安装路径到环境变量

node-inspector是通过websocket方式来转向debug输入输出的。因此,我们在调试前要先启动node-inspector来监听Nodejs的debug调试端口。

默认情况下node-inspector的端口是8080,可以通过参数--web-port=[port]来设置端口。在启动node-inpspector之后,我们可以通过--debug或--debug-brk来启动nodejs程序。通过在浏览器输入http://[ip address]:8080/debug?port=5858,我们会得到如下的调试窗口:

这三种方法各自有优缺点,我个人比较欣赏node-inspector的方式。

具体可以参考这个帖子:

nodejs如何打断点调试程序

应该是出错了内存泄露,导致死掉,看看你动态分配的内存吧。

举个例子,你利用向导生成一个程序,调一下,看看死机吗?不可能吧。如果那都死机,说明你的VC安装程序有问题,再或者是硬件有问题。

怎么结束node.js serverside javascript

核心API支持一种事件驱动的体系结构,在这种体系结构中,对象(称为“发射器”)周期性地发出命名事件,这些事件导致函数对象(“侦听器”)被调用。例如,每当一个对等点连接到它时,当文件被打开时,或者当数据被读取时,就会发出事件。

一类是非常重要的,这是EventEmitter类。发出事件的所有对象都是这个类的实例。他们暴露on() EventEmitter。功能,允许一个或多个功能被连接到命名物体发出的事件。

当EventEmitter对象发出一个事件,所有连接到这个特定的事件称为同步功能。另一个重要概念是流。它是一个抽象接口,可以通过例如对HTTP服务器的请求来实现。流是可读的、可写的,或者两者都是(双工的)。

所有数据流都eventemitters,但他们也有其他的自定义方法和属性,取决于他们是否可读,可写,或双。如果流既可读又可写,则它实现所有的方法和事件。因此,一个双工或转换流完全由这个API描述,尽管它们的实现可能有些不同。

虽然很多东西可以告诉如何利用Node.js为您的网站,我会结束这后一个简单的“Hello World”的例子如何创建您的第一个Node.js后端代码。

创建一个名为“myfirstnode文件。JS”,然后添加以下代码:

const http = require('http');

http.createServer( (request, response) = {

  response.writeHead(200, {'Content-Type': 'text/plain'});

  response.end('Hello World\n');

}).listen(8124);

console.log('Node.js server now running at 

);

执行以下命令启动服务器:

$ node MyFirstNode.js

Server running at

测试浏览器中的链接会产生一个可预测的结果:

如何使用DevTools调试Nodejs运行的Javascript

目前,常用的浏览器IE、Chrome、Firefox都有相应的脚本调试功能。我们先来看IE的:

1、在F12开发人员工具中进行调试

打开IE浏览器,按下F12键,就会打开开发人员工具,这是IE内置的开发人员开发工具,方便开发人员对HTML、CSS、Javascript等网页资源进行跟踪调试使用的。

如果你打开的时候没有固定在网页底部,可以点击右上角菜单栏中的按钮来完成。

我们看到在这个工具窗口里面有几个标签页,分别是:HTML、CSS、控制台、脚本、探查器和网络,点开每一个标签,可以执行相应的任务。

在HTML标签窗口中,工具栏中的按钮所执行的操作如下图:

CSS标签是用来查看样式的;控制台显示网页中JS的各种输出信息,包括错误信息、用户日志等;打开脚本标签页,这里面才是我们想要的内容。

我在图中用黄色矩形选中连个控件,左侧的下拉列表用来选择文件,右侧的按钮用来启动调试。当点击启动调试后,调试程序会将窗口最大化,我们在选中的文件中找到需要调试的位置,点击左侧边栏添加断点即可进行调试。

当有程序运行到我们的断点处时,就可以进行调试了:

在这里,我们可以使用快捷键进行操作,常用的快捷键如下:

F9:添加/移除 断点

F10:逐过程,即跳过该语句中的方法、表达式等

F11:逐语句调试,即单步调试,会跳入方法、表达式,进行逐语句的跟踪调试

在执行过程中,如果我们要执行即时的代码,我们就需要在右侧的窗格中输入代码,按回车即可:

如果要执行多行代码,点击运行按钮右侧的双箭头,就会打开多行模式。我就不再截图片了。

这种直接在浏览器中调试的方法同样适用于Google浏览器Chrome和FireFox FireDebug,只不过在细枝末叶上面有些不同罢了,主体的功能都是一样的。

按F12键进入开发者工具,可以查看源代码、样式和js:

点击Scripts按钮,可以打开这个调试窗口,里面包含了网页中脚本文件源码,点击左侧的按钮可以打开选择文件的侧窗口。

2、使用debugger关键字进行调试

这种方法很简单,我们只需要在进行调试的地方加入debugger关键字,然后当浏览器运行到这个关键字的时候,就会中断:

设置以后就可以使用debugger关键字进行调试了;进过这样的设置,我们还可以捕获到意外的错误,进行跟踪调试。

nodejs代码怎么打断点(JS打断点)

本文目录一览: 1、WebStorm3.0 调试nodejs 怎么添加断点 2、如何调试nodejs 3、nodejs如何打断点调试程序 4、怎么结束node.js serverside javasc

2023-12-08
vscode调试nodejs打断点,vscode断点调试vu

2022-11-23
js调试断点监控(js断点调试代码)

本文目录一览: 1、怎么在f12 js断点失效 2、谷歌浏览器调试js 断点怎么使用 3、javascript中的断点调试是什么意思? 4、怎样从Firebug设断点调试JS代码 5、js怎么断点调试

2023-12-08
打断于点点无效,打断于点怎么用

2022-11-23
ide断点调试php代码(php 断点调试)

2022-11-12
js圆点怎么打印出来,怎么打出一个圆点

2023-01-08
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
java断点,JAVA断点

2022-11-26
js判断点击页面,js点击页面任意位置

2022-11-25
怎样运行js代码在,js代码在浏览器怎么运行的

本文目录一览: 1、请问怎么写java调用node环境运行js代码? 2、如何执行javascript代码 3、JS脚本怎么运行? 4、如何让浏览器运行javascript代码的? 请问怎么写java

2023-12-08
手机端随机点名抽奖js代码,js随机点名器

2022-11-24
让nodejs运行asp(怎么用nodejs运行js代码)

本文目录一览: 1、nodejs怎么运行我的源程序文件 2、.net环境下如何使用node.js? 3、如何使用nodejs搭建开发环境 4、nodejs写的后台程序必要要运行才能让前端调用吗 nod

2023-12-08
js添加chrome(js添加节点)

本文目录一览: 1、怎么在Google Chrome 浏览器上启用 Javascript 功能 2、在chrome浏览器下实现加入收藏夹的javascript代码该咋写? 3、node.js是什么东西

2023-12-08
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
js中断程序,中断程序代码

本文目录一览: 1、js录屏总是自己中断了 2、js如何做到中断程序运行 3、怎么通过js 事件,停掉当前正在运行的js函数,不是在正在运行的函数中停止,是在另外一个事件中停止 4、如何终止js脚本的

2023-12-08
php能打断点吗(php断点下载)

2022-11-11
js如何判断网页板块面对用户,js判断用户是否在当前页面

本文目录一览: 1、jquery 判断网页中的用户是闲置还是活动状态 2、用js的jquery框架怎样判断页面访问用户是通过pc机还是手机。。 3、js 怎样判断用户是否在浏览当前页面 4、网页fil

2023-12-08
js连接示例代码(怎么连接js)

本文目录一览: 1、js能不能数据库连接 2、求教一段sj连接网页的代码!! 3、nodejs使用mongoose怎么连接远程mongo,求示例代码 4、javascript怎么与数据库连接 5、怎么

2023-12-08
php断点下载,php打断点

2022-12-02
js代码直接运行(js文件直接运行)

本文目录一览: 1、Ubuntu系统下怎么让js文件直接执行 2、JS脚本怎么运行? 3、js文件怎么运行 4、如何让网页打开就运行JS代码,不用onclick 5、如何让浏览器运行javascrip

2023-12-08