保姆级教程:VsCode调试docker中的NodeJS程序

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了保姆级教程:VsCode调试docker中的NodeJS程序脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了。

首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化debug的工作。

由于VsCode 已将调试工具内置,所以只需要增加调试配置。应遵循以下步骤:

第一步:单击首选项 -> 设置,打开设置选项卡。如下面的屏幕截图。

保姆级教程:VsCode调试docker中的NodeJS程序

第二步:在搜索输入中搜索“node debug”,你会看到Debug> JavaScript:Auto Attach Filter选项,选择“smart”作为选项的值。它将启用nodeJs的调试。

保姆级教程:VsCode调试docker中的NodeJS程序

第三步: 单击左侧工具栏上的调试图标,如图所示保姆级教程:VsCode调试docker中的NodeJS程序。然后单击运行和调试按钮,并添加配置。

点击Add Configuration将跳转到一个名为 launch.json(./vscode/launch.json) 的文件,编写后的完整配置如下所示。

{
 // Use IntelliSense to learn about possible attributes.
 // Hover to view descriptions of existing attributes.
 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
   {
     "type": "node",
     "request": "attach",
     "name": "Debug super api in docker",
     "restart": true,
     "port": 7676,
     "address": "localhost",
     "localRoot": "${workspaceFolder}",
     "remoteRoot": "/super-api",
     "protocol": "inspector"
   }
 ]
}

对上面的配置,我简单介绍一下。由于docker中的容器是被宿主机挂载进来的,所以要单独配置一个remoteRoot配置项,它的值就是实际项目在容器中的目录路径。

而port填写的不是项目运行的端口号,而是node命令中--inspect设置的端口号,在我的项目中我在运行该容器的时候会把这个7676的端口暴露给宿主机(真实电脑)

编辑好这个配置文件后,就可以设置一下断点,然后点击start debug按钮即可开始debug了。

运行的效果,如图所示。

保姆级教程:VsCode调试docker中的NodeJS程序

 

 可以看到Variables面板里面有显示运行到断点处的相关变量情况,而CALL STACK部分记录调用堆,方便我们追踪整个程序的调用层级和过程。左边最下面显示的是我们设置的所有断点(breakpoint),标记红色的是被执行到的断点。

一句话总结:一个后端程序员最基本的修养是能断点调试程序。

脚本宝典总结

以上是脚本宝典为你收集整理的保姆级教程:VsCode调试docker中的NodeJS程序全部内容,希望文章能够帮你解决保姆级教程:VsCode调试docker中的NodeJS程序所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: