CLion调试Nodejs源码

【环境】
macOS
node-v20.11.0源码
CLion 2023.3.2


【1】下载源码

https://nodejs.org/en/download/

在这里插入图片描述



【2】编译源码

解压后的目录如下

在这里插入图片描述


进入解压后的目录进行编译

./configure --debug
make -C out BUILDTYPE=Debug -j 4

在这里插入图片描述

需要好久…

编译成功之后在node-v20.11.0目录下会有一个out目录,out/Debug目录下有个可执行的文件node,它就是通过上一步本地编译出来的node

在这里插入图片描述

[infuq out] tree -L 2
.
├── Debug
│   ├── bytecode_builtins_list_generator
│   ├── cctest
│   ├── ...
│   ├── mksnapshot
│   ├── node  // 本地编译出来的node
│   ├── node_js2c
│   ├── node_mksnapshot
│   ├── obj
│   ├── obj.target
│   ├── openssl-cli
│   ├── overlapped-checker
│   └── torque
├── Makefile
├── cctest.target.mk
├── deps
│   ├── ada
│   ...
│   └── zlib
├── ...

【3】导入和调试

通过CLion导入Nodejs源码,即 node-v20.11.0 目录内容

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在src/node_main.cc文件的main方法打断点

在这里插入图片描述
就可以开始运行了…

在这里插入图片描述
在这里插入图片描述



【参考外链】
https://juejin.cn/post/6844903550946902030

### 配置和调试 Redis 源码 要在 CLion 中成功配置并调试 Redis 源码,可以按照以下方式进行操作: #### 1. 安装依赖项 在 macOS 上运行 Redis 和其插件(如 RedisBloom),需要安装一些必要的开发工具和库。可以通过 Homebrew 来简化这一过程: ```bash brew install redis gcc cmake ``` 这一步确保了系统中有足够的编译器支持以及 Redis 所需的环境。 #### 2. 下载 Redis 源码 从官方仓库获取指定版本的 Redis 源码文件,并解压到工作目录下。例如: ```bash wget http://download.redis.io/releases/redis-4.0.12.tar.gz tar xzf redis-4.0.12.tar.gz cd redis-4.0.12 ``` 对于更高版本的 Redis(如 Redis 6 或以上),也可以通过 Git 获取最新的稳定分支: ```bash git clone https://github.com/redis/redis.git cd redis git checkout 6.x-stable ``` #### 3. 创建 CMakeLists 文件 如果项目中尚未存在 `CMakeLists.txt` 文件,则需要手动创建一个适合 Redis 的构建脚本。以下是适用于 Redis 的基本模板[^1]: ```cmake cmake_minimum_required(VERSION 3.5) project(redis) set(CMAKE_C_STANDARD 99) add_executable(redis-server src/redis.c src/networking.c src/object.c ... ) target_include_directories(redis-server PRIVATE deps/hiredis) ``` 注意:上述省略号部分应包含所有 Redis 源代码中的 `.c` 文件路径列表。 #### 4. 设置 CLion 工程结构 打开 CLion 并导入 Redis 源码所在的文件夹作为新工程。确认项目的 CMake 版本匹配当前系统的设置,并调整任何缺失的头文件链接问题。 #### 5. 编译选项优化 为了能够正常打断点调试程序执行流程,建议采用无优化模式重新编译目标二进制文件。具体做法是在终端里切换至源码根目录后输入命令[^4]: ```bash make noopt ``` 此参数会禁用 GCC 默认启用的各种性能增强措施,从而让 GDB 更容易跟踪函数调用链路。 #### 6. 启动调试会话 回到 IDE 内部界面定义一个新的本地应用启动配置——指向刚才生成好的可执行文件位置;接着点击绿色三角形按钮即可进入单步追踪状态观察内部变量变化情况。 --- ### 注意事项 由于不同操作系统之间可能存在细微差异,请参照特定平台上的指南完成相应准备工作。比如针对 Mac 用户来说,除了上面提到的内容外还需要额外关注 Xcode Command Line Tools 是否已经正确安装等问题[^2]。 此外值得注意的是,随着软件迭代更新速度加快,某些旧教程里的细节可能会有所改变,因此当遇到困难时不妨查阅最新发布的官方文档或者社区讨论帖寻找解决方案[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值