nodejs调试总结

 基于chrome调试:

1.首先在chrome浏览器中输入地址:chrome://inspect/#devices

可以看到Remote Target区域没有任何debug的目标文件。

2.--inspect

执行node --inspect ./server/server.js

然后我们看下cmd有何变化

这里看到了debugger attached的时候表示已经debug上了,这是我们在前台发一次请求试下

达到了预期的目的。
(这里有个坑,当我启动了两个服务,一个server服务一个api服务,中间使用了http代理即‘http-proxy’,然后调试api的时候并不能断上,另一太电脑是可以断上的,原因未知mark一下)

3.--inspect --debug-brk

执行node --inspect --debug-brk server\server.js 自动断在第一行代码,不需要我们打断点(没有太大实际的作用)。

vscode调试:

针对vscode调试有两种模式:attach和launch

attach:你通过 node --inspect xxx.js 自行启动调试,然后 vscode 执行F5 attach到chrome
launch:vscode独立自主的跑起一个调试进程

1.attach方式:

1 {
2             "type": "node",
3             "request": "attach",
4             "name": "attach Program"
5         }

上段代码是在网上找的配置文件,然后我们执行下试试。

what???其实这里我挺好奇的,代码是执行过的?真的好使吗?推荐看官方文档:https://code.visualstudio.com/Docs/editor/debugging

解决方案:

1 {
2             "type": "node",
3             "request": "attach",
4             "name": "attach Program",
5             "port": 9222
6         }

我们配置文件指定一个端口,这里必须也要更改一下chrome的启动方式指定一个端口,增加一段字符串如下:

1 "--remote-debugging-port=9222"

修改chrome启动方式如下:

如果不改一样会出现上面的情况,attach超时(压根attach不上)。

2.launch方式

1        {
2             "type": "node",
3             "request": "launch",
4             "name": "launch server",
5             "program": "${workspaceFolder}/server/server.js"
6         }

参数解析:

type:启动类型(chomre&node等等)

request:配置类型 ( PS:node目前支持的是 launch 和 attach)

name:debug名称

program:启动调试器时要运行的可执行文件或文件

args:传递给程序进行调试的参数

env:环境变量(该值 null 可用于“取消定义”变量)

cwd:当前工作目录,用于查找依赖项和其他文件

address:地址

port:端口

 

转载于:https://www.cnblogs.com/moran1992/p/10313650.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VS Code是一款非常流行的开发工具,它提供了丰富的功能和插件来支持远程调试。在使用VS Code进行远程调试docker中的node.js应用程序时,我们需要进行以下几个步骤。 首先,我们需要在docker容器中安装VS Code Server。我们可以通过运行以下命令将VS Code Server添加到我们的Dockerfile中: ``` RUN apt-get update && \ apt-get install -y curl && \ curl -fsSL https://code-server.dev/install.sh | sh ``` 然后,我们需要设置docker容器的端口映射,将VS Code Server的端口映射到主机的一个端口上。我们可以使用以下命令来运行docker容器: ``` docker run -d -p 8080:8080 -v "$(pwd):/home/coder/project" my-node-app ``` 这个命令将容器中的端口8080映射到主机的端口8080上,并将当前目录挂载到容器中的`/home/coder/project`目录中。 接下来,我们需要在VS Code中安装Remote - Containers插件。我们可以在VS Code的插件商店中搜索并安装该插件。 安装成功后,我们可以在VS Code的底部状态栏找到一个绿色的“><”图标。点击该图标,然后选择“Remote-Containers: Attach to Running Container”选项。 在弹出的菜单中,我们可以选择我们之前运行的docker容器。选择后,VS Code将会连接到docker容器,并在VS Code的界面中打开一个新的窗口。 在VS Code中,我们可以打开我们的node.js项目,并在需要的位置设置断点。然后,我们可以使用VS Code的调试功能来启动我们的程序,并进行远程调试。我们可以点击VS Code界面左侧的调试图标,然后选择我们的调试配置并点击“启动调试”按钮。 此时,VS Code将会与我们的程序建立远程连接,并在断点处停下。我们可以使用VS Code的调试工具来查看变量的值、单步调试等操作。 通过以上步骤,我们成功地在VS Code中实现了远程调试docker中的node.js应用程序。使用VS Code的强大调试功能,我们可以更方便地进行代码调试和错误排查。 ### 回答2: 要在VSCode中远程调试Docker中的Node.js应用程序,需要按照以下步骤进行设置和配置。 首先,确保已经在本地安装了VSCode和Docker。 1. 在本地的VSCode中安装"Remote - Containers"插件。这个插件可以让我们连接到Docker容器中的开发环境。 2. 在Docker中设置你的Node.js应用程序。可以在Dockerfile中指定要使用的基础镜像,并将Node.js应用程序复制到容器中。 3. 创建一个名为".devcontainer"的目录,并在其中创建一个名为"devcontainer.json"的文件。在这个文件中,可以指定要使用的Docker镜像和连接到容器时要运行的命令。 4. 在"devcontainer.json"文件中,你还需要配置"ports"选项,以便将容器中的端口映射到本地。通过指定要映射的本地端口和容器内部的端口号,可以让VSCode在本地打开容器中的应用程序。 5. 在VSCode中,按下Ctrl + Shift + P,然后选择"Remote-Containers: Open Folder in Container",然后选择项目文件夹。VSCode将会连接到Docker容器。 6. 在VSCode中打开你的Node.js应用程序的调试视图。点击左侧的调试按钮,然后点击配置按钮,选择Node.js环境。 7. 在VSCode中的调试视图中,点击启动按钮。VSCode将连接到Docker容器中的Node.js应用程序,并开始远程调试。 通过按照上述步骤设置和配置,你就可以在VSCode中远程调试Docker中的Node.js应用程序了。这样,你就可以在本地编写和调试代码,同时在Docker容器中运行和测试应用程序。 ### 回答3: 使用VSCode进行远程调试Docker中的Node.js应用可以通过以下几个步骤完成。 首先,确保你的机器上安装了VSCode和Docker,并且Docker已经成功安装并运行。 其次,在VSCode中安装Remote Development扩展。这个扩展提供了远程开发的功能,并且可以与Docker集成。 接下来,在你的终端或命令行工具中,使用Docker运行你的Node.js应用。使用适当的Docker命令和参数,将你的应用程序容器化,并确保容器对外暴露了Node.js应用程序的调试端口。 然后,打开VSCode并进入扩展的Remotes视图。点击“Attach to Running Container”按钮,并选择你的Node.js应用程序的Docker容器。 接下来,在VSCode的调试视图中,点击“添加配置”按钮,并选择Node.js环境。在生成的launch.json配置文件中,确保指定了正确的远程主机和调试端口。 最后,点击“启动调试”按钮,VSCode将会连接到你的Docker容器,并开始调试你的Node.js应用程序。你可以在VSCode中设置断点、查看变量和调试输出,就像在本地开发环境一样。 总结起来,通过这些步骤,你可以很方便地使用VSCode对Docker中的Node.js应用进行远程调试,提高开发效率和调试能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值