文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一篇带给你Vscode调试Node.js指南

2024-12-14 01:09

关注

前言:调试代码不管对于开发还是学习源码都是非常重要的技能,本文简单介绍vscode调试Node.js相关代码的调试技巧。

一、调试业务JS

调试业务JS可能是普遍的场景,随着Node.js和调试工具的成熟,调试也变得越来越简单。下面是vscode的lauch.json配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "type""node"
  5.             "request""attach"
  6.             "name""Attact Program"
  7.             "port": 9229 
  8.         } 
  9.     ] 
  10.  

在JS里设置断点,执行node --inspect index.js 启动进程,会输出调试地址。

点击虫子,然后点击绿色的三角形。

vscode会连接Node.js的WebSocket服务。

开始调试(或者使用Chrome Dev Tools调试)。

二 调试Addon的C++

写Addon的场景可能不多,但是当你需要的时候,你就会需要调试它。下面的配置只可以调试C++代码。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""Debug node C++ addon"
  5.             "type""lldb"
  6.             "request""launch"
  7.             "program""node"
  8.             "args": ["${workspaceFolder}/node-addon-examples/1_hello_world/napi/hello.js"], 
  9.             "cwd""${workspaceFolder}/node-addon-examples/1_hello_world/napi" 
  10.         }, 
  11.     ] 
  12.  

在C++代码设置断点。

执行node-gyp configure && node-gyp build --debug编译debug版本的Addon。

JS里加载debug版本的Addon。

点击小虫子开始调试。

三、调试Addon的C++和JS

Addon通常需要通过JS暴露出来使用,如果我们需要调试C++和JS,那么就可以使用以下配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""Debug node C++ addon"
  5.             "type""node"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/node-addon-examples/1_hello_world/napi/hello.js"
  8.             "cwd""${workspaceFolder}/node-addon-examples/1_hello_world/napi" 
  9.         }, 
  10.         { 
  11.             "name""Attach node C/C++ Addon"
  12.             "type""lldb"
  13.             "request""attach"
  14.             "pid""${command:pickMyProcess}"   
  15.         } 
  16.     ] 
  17.  

和2的过程类似,点三角形开始调试,再选择Attach node C/C++ Addon,然后再次点击三角形。

选择attach到hello.js中。

开始调试。

四、调试Node.js源码C++

我们不仅用Node.js,我们可能还会学习Node.js源码,学习源码的时候就少不了调试。可以通过下面的方式调试Node.js的C++源码。

  1. ./configure --debug && make 

使用以下配置:

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""(lldb) 启动"
  5.             "type""cppdbg"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/out/Debug/node"
  8.             "args": [], 
  9.             "stopAtEntry"false
  10.             "cwd""${fileDirname}"
  11.             "environment": [], 
  12.             "externalConsole"false
  13.             "MIMode""lldb" 
  14.         } 
  15.     ] 
  16.  

在node_main.cc的main函数或任何C++代码里打断点,点击小虫子开始调试。

五、调试Node.js源码C++和JS代码

Node.js的源码不仅仅有C++,还有JS,如果我们想同时调试,那么就使用以下配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""(lldb) 启动"
  5.             "type""cppdbg"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/out/Debug/node"
  8.             "args": ["--inspect-brk""${workspaceFolder}/out/Debug/index.js"], 
  9.             "stopAtEntry"false
  10.             "cwd""${fileDirname}"
  11.             "environment": [], 
  12.             "externalConsole"false
  13.             "MIMode""lldb" 
  14.         } 
  15.     ] 
  16.  

点击调试。

在vscode调试C++,执行完Node.js启动的流程后会输出调试JS的地址。

在浏览器连接WebSocket服务调试JS。

 

来源:编程杂技内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯