一、背景:

产线机器出bug,不能重启服务,需要保留现场,问题不好排查,只能靠远程debug。

二、实现步骤

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

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

2. 本地执行,映射远程服务9229端口到本地端口9220,后续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)



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

  1. node应用远程调试教程

    远程调试 所谓远程调试,是指在本地IDE或命令行即时调试服务端代码,这在预发环境的测试阶段可以使用.远程调试避免了服务端环境的模拟,可快速定位bug. node应用调试 本文的教程主要针对采用 VS ...

  2. node.js之调试器

    node.js之调试器 1.在命令行窗口中,可以使用"node debug" 命令来启用调试器,代码如下: node debug<需要被执行的脚本文件名> 接下来根据一 ...

  3. node.js启动调试方式

    node.js启动调试方式(nodeJs不能像js一样在控制台调试) 以express项目为例,启动路径是localhost:3000 一.通过node命令启动 node server/bin/www ...

  4. Node JS后端项目开发与生产环境总结

    原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似t ...

  5. KoaHub平台基于Node.js开发的Koa 连接支付宝插件代码信息详情

    KoaHub平台基于Node.js开发的Koa 链接支付宝插件代码信息详情 easy-alipay alipay payment & notification APIs easy-alipay ...

  6. resin远程调试debug

    wangqiaowqo Resin 远程debug Resin Windows下提升Resin默认的虚拟机内存大小 httpd.exe -Xmx1024m 参考外部文章 Resin远程debug配置文 ...

  7. 【经验随笔】Java程序远程调试定位特定运行环境上出现的问题

    Java后台程序远程调试 第一步:在JVM的启动参数中增加-Xdebug -Xrunjdwp:transport=dt_socket,address=6688,server=y,suspend=n 第 ...

  8. 【Node.js】Node.js的调试

    目录结构: contents structure [-] 使用console.log() 使用Chrome DevTools 使用Visual Studio Code 与JavaScript运行在浏览 ...

  9. 利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式

    最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序. 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的 ...

随机推荐

  1. Unity more efficient find

    Unity caches GameObjects based on their tags, so in a big scene with lots of objects, GameObject.Fin ...

  2. maven 常用备忘录

    1.maven 国内的常用中央仓库地址配置: <mirror> <id>alimaven</id> <name>aliyun maven</nam ...

  3. [C++]几种排序

    本文为大大维原创,最早于博客园发表,转载请注明出处!!! 1.冒泡: #include<cmath> #include<cstdlib> #include<ctime&g ...

  4. 【原创】Arduino制作Badusb实践

    1.U盘构造      U盘由芯片控制器和闪存两部分组成. 芯片控制器负责与PC的通讯和识别,闪存用来做数据存储: 闪存中有一部分区域用来存放U盘的固件,它的作用类似于操作系统,控制软硬件交互:固件无 ...

  5. mysql 实现 sqlserver的row_number over() 方法

    1.创建表 CREATE TABLE `heyf_t10` ( `empid` int(11) DEFAULT NULL, `deptid` int(11) DEFAULT NULL, `salary ...

  6. code about led_shake

    //write by:cyt //Project Name:Led on/off //Time:2017-2-10 #include<reg51.h> void delay(int c) ...

  7. CSS效果:3D卡片

    HTML: <html lang="en"> <head> <meta charset="UTF-8"> <meta ...

  8. js循环出相同name,不同id的按钮,对其进行点击回复操作

    function getseat(){ var option= "<button class='btn'style='margin:5px;' onclick='onclickSeat ...

  9. 运维ps语法---》ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  10. dos3章

    FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法! 先把FOR的变量全部列出来: ~I          - 删除任何引号("),扩展 %I     %~f ...