XCode 调试 NodeJS 源码
前言
对于 NodeJS 源码调试,我们日常开发 99% 都不会用上,但是我们可以通过调试源代码,我们更好的去理解 node 中的Micro-task
和Macro-task
等是怎么样实现的。
有时候区分一个程序员优秀程度,就可以通过这些细小部分的 debug 体现出来,出现一些 node 的疑难杂症就可以快速定位解决,节约开发时间和发布时间,也进一步给公司带来更多利益。
具体步骤如下
第一步,下载 NodeJS 源码
第二步,在根目录上初始化 xcode 环境
./configure -- -f xcode
第三步,在 xcode 设置 node 的运行环境
设置路径: --inspect-brk /Users/liangquanli/Documents/study/test.js
--inspect-brk
使用 chrome 开发者工具调试/Users/liangquanli/Documents/study/test-node.js
js 路径
第四步,直接在 xcode 查看运行
第五步,打开 chrome 浏览器 chrome://inspect/#devices
点击 inspect
我们就看到我们写的 NodeJS 代码 test-node.js
const fs = require('fs')
fs.readFile(__dirname + '/ss.json', () => {})
第五步,运行当前代码,给readFile
打断点,
- 点击 step into next function,就可以进入 fs 的模块
- 当我们一直调试到
open
方法时,就进入 c++ 代码了,这个时候我们就需要到 xcode 里面打断点
- 到 xcode 中找到 Open方法打断点如下 路径: node/Source/src/node_file.cc
- 接下来我们回到 chrome 中继续执行下一步,就可以到 xcode 中的断点去了
总结
以上是通过 xcode + chrome 调试 NodeJS 源码的技巧,其实还可以通过 node-inspector 来调试,具体可以去百度、谷歌了解下。