node.js 远程调试debug产线环境代码

一、背景:

产线机器出bug,不能重启服务,需要保留现场,问题不好排查,远程debug服务器端代码才是正解。

二、实现步骤

1. 登录远程机器执行如下命令,nodePid为node服务的pid

kill -usr1 nodePid #此命令不会重启服务

2. 本地执行,映射远程服务端口到本地端口9229,后续chrome调试使用

ssh -L 9220:localhost:9229 username@40.xxx.xx.xxx

3. 本地机器,chrome打开 chrome://inspect/,配置config,双击remote Target的调试站点后,command+i 打开调试窗口后,command+p 输入想要打开进行调试的代码文件名字,加上断点,就可以愉快的玩耍了。

三、参考链接

- [就是看这个才实现的](https://hackernoon.com/debugging-node-without-restarting-processes-bd5d5c98f200)

- 其它没用的文档

- [node.js debug](https://nodejs.org/en/docs/guides/debugging-getting-started/)

- [demo-debug-in-webstorm](http://pavelpolyakov.com/2015/12/05/node-js-remote-debug-in-webstorm/)

- [webstorm remote debug](https://www.jetbrains.com/help/webstorm/run-debug-configuration-node-js-remote-debug.html)

- [vscode remote debug](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_remote-debugging)

原文地址:https://www.cnblogs.com/moonolala/p/10518293.html

时间: 2024-08-08 16:31:34

node.js 远程调试debug产线环境代码的相关文章

Node.js入门教程 第一篇 (环境配置及概念原理)

Node.js 概念 Node.js本质上是使用Google的V8引擎制作出来的服务框架.V8本身是Google为了解决Chrome浏览器的性能问题而制作的前端引擎(开源).本身依托于浏览器引擎,这也是为什么Node.js使用的是前端的JavaScript语言编程. V8的诞生是Google为了解决JavaScript的性能问题,用了内联缓存和隐藏类技术实现的前端引擎.V8使用C++编写,也因此V8可以在C++项目中完美兼容使用. V8被Google使用在大多数产品中,如Chrome浏览器,安卓

linux上安装node.js ,npm,与karma--angularJS环境搭建

安装nodejs   搭建依赖环境 首先安装g++编译器与git,在终端输入如下命令 sudo apt-get install g++ curl libssl-dev apache2-utils sudo apt-get install git-core git如果已经安装则不需要再安装了. 2. 安装node.js 直接输入命令sudo apt-get install nodejs 安装的是0.6版本的,这个会出现问题,导致接下来安装js测试工具karma,出现问题. 所以用下载安装的方式,去

PhpStorm+xdebug远程调试Linux机器上的代码

一.背景介绍: 最近在了解网址导航项目,为了能够更加深入地了解被测对象,所以我选择了查看网址导航代码的方式进行,但是只是生硬地查看php源代码是比较生涩的,我希望能够通过IDE工具进行代码单步调试来了解整个网址导航的功能实现. 为了达成以上目的,我选择了phpstorm+xdebug来远程调试Linux上的代码.与之前白松分享的phpstorm+xdebug调试方法不同的是,前者调试的Webserver是在本地环境搭建了php+apache调试的,而我要面对的问题有: 1.网址导航的代码是部署在

基于Node.js的文件服务器(使用Q重构代码)

之前写过一篇文章,简单介绍了一个基于Node.js的静态文件服务器.那时还只是个人兴趣.最近又有了关于服务器的新的需求,我就想花点时间,好好研究一下.所以把之前的代码拿出来重构了一番,整体代码变得干净很多. 首先最新Node.js是支持generator的,所谓generator,就是javascript中的协程(半协程),不过功能稍弱,仅仅是为了解决js中凶名赫赫的callback hell而诞生的.这里我并没有使用generator,而是使用promise(饭要一口一口吃,先弄明白promi

使用xdebug+eclipse远程调试centOS7上的PHP代码

这两天一直在研究PHP代码的调试,原来开发一直用的var_dump,麻烦! 最近发现能使用xdebug+eclipse远程单步调试PHP,但是百度后实现此技术的文章都写得不够具体. 我照着这里零散的文章弄了2天,弄好了,把完整的过程整理一份,方便查阅. 1.首先安装xdebug,去http://xdebug.org/wizard.php将你的phpinfo()复制进去,按照提示安装. 安装完以后去配置php.ini加上下面几句话: [xdebug] xdebug.remote_enable =

Node.js 优雅地自动审核团队的代码

在团队开发中,无论是写前端(js,css,html) ,还是后端 ,我们需要解决一个问题:如何统一团队代码风格. 这篇文章主要是使用pre-git , eslint , js-beautify 实现代码风格控制. 下面分别介绍这三个工具和使用方式: pre-git该工具能实现git hook的功能,在git的流程中插入一些自定义行为,例如commit之前执行代码检测,如果不通过则报错. eslint代码格式审核工具,可以随意组合配置各种风格,用于组成团队的代码统一规范. js-beautiful

KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情

koa-router Router middleware for koa. Provides RESTful resource routing. koa-router       Router middleware for koa Express-style routing using app.get, app.put, app.post, etc. Named URL parameters. Named routes with URL generation. Responds to OPTIO

KoaHub平台基于Node.js开发的Koa的skip插件代码详情

koahub-skip koahub skip middleware koahub skip Conditionally skip a middleware when a condition is met. Install npm i koahub-skip --save Usage With existing middlewares: var skip = require('koahub-skip'); var serve = require('koa-static'); var static

KoaHub.JS基于Node.js开发的处理和显示日期代码

moment Parse, validate, manipulate, and display dates      A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. Documentation Port to ECMAScript 6 (version 2.10.0) Moment 2.10.0 does not bring any new fea