前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node.js源码学习——搭建阅读调试代码环境

Node.js源码学习——搭建阅读调试代码环境

原创
作者头像
Runhwguo
修改2020-03-19 16:26:21
2.8K0
修改2020-03-19 16:26:21
举报

前提条件

源码学习,是要建立在一定基础上的,就Node.js而言,要满足一下条件:

  • 熟悉JavaScript语言
  • 熟练Node.js服务端开发
  • 熟悉C++语言
  • 熟悉JS/C++调试

搭建步骤

如果满足以上条件,那么我们就开始本系列的第一章,搭建环境;

1. 下载Node.js的github项目

  • 阅读Node.js的README.md
  • 初步弄清楚每个目录的文件作用

2. 搭建阅读/调试环境

  • 阅读BUILDING.md,编译Debug版的Node执行文件
  • 选择JS/C++的IDE,笔者选择CLion(C++),WebStorm(JS)
  • 配置调试参数

3. 阅读&调试

具体实施

声明下笔者的环境,Mac(10.14.6) CLion WebStorm(其他平台Node.js文档里也有介绍)

1. 下载Node.js源码 git clone https://github.com/nodejs/node.git‘

2. 根据BUILDING.md编译Debug的Node执行文件

  • cd node_project
  • ./configure --debug
  • make -j4

此时Node执行文件已经构建出来,out/Debug/node

注意点:编译Node.js源码比较耗资源,笔者的Mac呼呼作响,且需要足够的磁盘空间,笔者就遇到空间不足失败的情况,建议留有20G左右的空间;

空间不足,构建失败
空间不足,构建失败

Node.js编译产物截图:

Node.js构建产物截图
Node.js构建产物截图

3. 配置IDE

这里看个人喜好,VSCode/Xcode/VS/Chrome/CLion/WebStorm都是可以用来调试了,而笔者是Jetbrains的铁粉,所以这里就用CLion/WebStorm来做演示,但要做到把原理说明白;

1. CLion调试C++

在*unix下,Node.js是用make来构建的,但是CLion是使用CMake来构建调试C++的,CLion可以根据代码目录自动生成CMakeLists.txt,以供调试;

在CLion里,用New CMake Project from Sources导入项目,会自动生成CMakeLists.txt;

CLion自动生成的CMakeLists.txt
CLion自动生成的CMakeLists.txt

这里在Edit Configurations,选择CMake Application

  • Target选择node_master
  • Executable选择我们刚编出来的Debug版Node
  • Program arguments填--inspect-brk ./demo.js,--inpect-brk是在应用代码的第一行断开;这里配置对应的命令行就是node --inspect-brk /User/run/project/node_source_learn/demo.js
  • 清空Before launch里的内容,因为我们的Node已经编译好了,不用再编译了;
CLion调试配置
CLion调试配置

2. WebStorm调试JS(官网介绍)

在WebStorm里,新建一个目录,新建demo.js,用来调试JS代码;

这里在Edit Configurations,选择Attach to Node.js/Chrome

  • Host填localhost
  • Port填9229,因为--inspect-brk默认监听9229端口,将Reconnect automatically打钩
WebStorm调试配置
WebStorm调试配置

4. 调试时,把CLion和WebStorm都启动调试

C++断点:

C++调试截图
C++调试截图

JS断点:

JS调试截图
JS调试截图

至此,Node.js的C++/JS混合阅读调试环境搭建完毕;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前提条件
  • 搭建步骤
    • 1. 下载Node.js的github项目
      • 2. 搭建阅读/调试环境
        • 3. 阅读&调试
        • 具体实施
          • 1. 下载Node.js源码 git clone https://github.com/nodejs/node.git‘
            • 2. 根据BUILDING.md编译Debug的Node执行文件
              • 3. 配置IDE
                • 1. CLion调试C++
                • 2. WebStorm调试JS(官网介绍)
              • 4. 调试时,把CLion和WebStorm都启动调试
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档