看node源码如何打断点调试?
发布于 7 年前 作者 Zuckjet 6430 次浏览 来自 问答

最近想试着看一下node源码,从github上下载了node源码以后,看着有些懵,不知道代码到底是如何执行的.</br> 比如说,写了几行基本代码:

const http = require('http');
const server = http.createServer((req, res) => {
    res.end('hello');
});
server.listen(8000);

执行上述代码,断点调试,在第一句代码中开始步入调试,结果直接进去了 'internal/module.js’文件.   我想问的是,在执行internal/module.js文件之前,应该执行了一些c++的文件比如node_main.cc,node.cc .或者说还有一些js文件,比如说bootstrap_node.js文件.   问题1:我想在这些文件中打断点,该怎么打呢?   问题2:如果想尝试着修改一下源码,看看执行效果又该如何做?

4 回复

c++代码和js代码无法同时加断点,推荐clion调试c++,vscode调试js代码

@i5ting 好的,感谢狼叔答疑解惑^_^

@i5ting 已经star过了,之前使用vscode调试node,就是参考狼叔的教程.还有个疑问想请教一下,举个例子: 假如下周六天气不好会下雨,狼叔无法出门浪,然后闲着无聊看了一下node源码,觉得有些地方不完美遂修改了一下(修改的源代码可能是js文件或者c++文件).在修改node完源码的时候,你可能需要检查一下修改的是否正确.这个时候,你是不是需要把修改的源码先编译(类似于重新装了一个版本的node),然后再用这个版本node 执行js文件,看是否达到这个效果呢?   我想问的是,改node源码,是不是只能这样,即改源码--编译--执行(看是否达到预期效果).这样就类似于黑匣子模式了,改的时候不能够断点调试源码,只能在编译之后并执行才能知道改的有没有错误.   说的有点乱,不知道有没有说清楚,请狼叔不吝赐教^_^

回到顶部