保姆级教程:VsCode调试docker中的NodeJS程序
2022/4/21 1:13:10
本文主要是介绍保姆级教程:VsCode调试docker中的NodeJS程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了。
首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化debug的工作。
由于VsCode 已将调试工具内置,所以只需要增加调试配置。应遵循以下步骤:
第一步:单击首选项 -> 设置,打开设置选项卡。如下面的屏幕截图。
第二步:在搜索输入中搜索“node debug”,你会看到Debug> JavaScript:Auto Attach Filter选项,选择“smart”作为选项的值。它将启用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了。
运行的效果,如图所示。
可以看到Variables面板里面有显示运行到断点处的相关变量情况,而CALL STACK部分记录调用堆,方便我们追踪整个程序的调用层级和过程。左边最下面显示的是我们设置的所有断点(breakpoint),标记红色的是被执行到的断点。
一句话总结:一个后端程序员最基本的修养是能断点调试程序。
这篇关于保姆级教程:VsCode调试docker中的NodeJS程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程