是否可以调试节点内部模块?

lx1*_*412 5 debugging node.js google-chrome-devtools visual-studio-code

例如,我想在内部文件上添加一些断点_http_server.js,但该文件实际上并不存在于我的磁盘上。

我该怎么办?

and*_*otn 5

是的,在编译时,.js源代码中的文件被打包到node可执行文件中,这让我不确定是否/如何在那里设置断点。

\n\n

对我有用的:

\n\n
    \n
  1. 将相关.js文件从节点源代码的签出复制到当前目录,例如,readline.js
  2. \n
  3. 将本地导入从 更改require(\'readline\')require(\'./readline\')
  4. \n
  5. 使用未记录的node --expose-internals标志来允许复制的.js文件仍然存在require(\'internal/\xe2\x80\xa6\')
  6. \n
  7. 在当前本地文件上使用console.log语句/调试器来找出发生了什么
  8. \n
\n


Jit*_*ria 0

_http_server.js 位于 nodejs/lib/_http_server.js 上。如果您想调试此文件,建议您下载源代码github.com/nodejs/node并开始调试。:)