vscode调试node(vscode调试c语言)

NodeJs VSCode 断点调试

1.首先 你已经有一个.js 文件了,例如我的demo12.js

2.在工作区内打一些断点,如无异常的话应该是实心红点

3.点击 运行和调试 按钮

4.点击小齿轮按钮,修改配置文件

5.右键刚才那个js文件,复制出其相对路径,放在配置文件${workplaceFolder} 的后面

6.点击开始按钮,进行调试

运行成功后,程序会定位到打断点的地方,并且,调试控制台可以看到输入结果,上面的一排按钮与其他调试工具类似,不赘述了

在实际开发当中,可以配置多分launch.json文件,以应对不同项目的调试

修改name值用于区分,并且,要修改program ,将对应项目的入口文件配置在这里即可

Docker运行nodejs及调试

首先在项目根目录下添加Dockerfile文件(这里我选用的是简单地nestjs作为例子)

在项目根目录下添加docker-compose.yml

在项目根目录下添加nodemon-docker-debug.json

在package.json中加入docker运行命定及nodejs debug命定

1.首先运行yarn docker(npm run docker)来构建及运行docker 容器

1.项目根目录下新建.vscode文件夹,在.vscode文件夹下添加launch.json

*注意这里的port一定要与你docker-compose.yml设置的debug port保持一致

运行vscode调试工具,如果能够成功连接到docker中的程序,可以在container logs 中看到连接成功的log

接下来尝试断点调试

原文链接

VSCode Node.js 调试配置 (npm 脚本启动)

相当于直接使用 node 命令,用 npm run script 脚本 来启动 Node.js 程序是更为常见的场景,比如当目标是运行一个应用。

假设项目的 package.json 有一个用来调试的 debug 脚本:

我们要怎么启动项目的跟踪调试呢?

文档指路 ➡️ 【Node.js 调试入门】 、 【VSCode 中的 Node.js 调试】 、 【Launch 对 npm 及其他工具的配置支持】

VS Code 支持两种核心调试模式 Launch 和 Attach ,Launch 方式是直接以 debug 模式启动应用,并为我们自动添加一个调试器;而 Attach 方式则是将 VSCode 调试器连接到已经运行中的应用程序或进程。我们这里用的是 Launch 方式。

在终端运行:

或点击VSCode 的小甲虫图标:

上面蓝色位置圈错了,应该是第一个 Node.js。

VSCode 十分智能,预设了很多针对不同需求的启动配置:

让我们来做进一步的修改:

之前那个启动配置项可以删除,留下这个需要的即可。

我们将 console 属性 设置为外部终端,我们启动调试时 VScode 就会自动打开下图中对应的终端(根据操作系统)。可以根据个人使用习惯,自定义用什么终端 (比如我在 VSCode 设置的 Terminal › External: Osx Exec,从默认的改为了 iTerm2)。

别忘了先把我们的脚本加上端口

VSCode调试egg.js项目

首先,在需要调试的地方打好断点

如上图,点击左侧的行数,158行就可以打上断点了

点击 vscode 左侧的debug窗口,如果你之前没有配置过 launch.json 文件,那么现实效果就会如下图一样。

点击左上方,【没有配置】,添加配置

VSCode本身就内置了Node.js的调试工具,如果将来你需要调试别的东西,可以在这里选择添加对应的调试插件工具。

这里我们调试的是Node.js,就选择Node.js,然后VSCode会在 /.vscode 目录中新建一个 launch.json 文件

launch.json 文件新建好后,我们需要进行一些配置操作,这里我们选择的是,附加到进程。

后面我们是先启动egg的调试进程,然后再将vscode附加到进程中的。

这里有一个很关键的节点, program 这个属性写的就是你需要调试的js文件,我这边调试的是刚才打上断点的文件 pledges.js

使用 iterm 进入到工程目录,开启调试模式

在VSCode中选择 Attach to Process ,并且选择egg-cluster这个进程。

等请求进入到刚才打断点的地方,VSCode就会自己跳转到调试点啦,然后就可以尽情调试啦~

BTW,如果你有更好,更简单的调试方式请告诉我...

[Node] 如何使用 VSCode 调试 child_process

使用 VSCode 调试 Node.js 的时候,

遇到 child_process 中的断点,是跟不进去的。

(1)目录结构

打开 VSCode,并以 main 作为根目录,

(2)app.js

(3)child/process.js

(4).vscode/launch.json

main 项目中按 F5 ,程序会停在 app.js 中的断点处,单步调试,

然后,调试进程就结束了。并不会跑到第 6 行的断点处,

child/process.js 中的断点,也跑不进去,

以上示例中,我们发现 VSCode 无法调试到 child_process 中。

也不确定 VSCode 未来是否会支持。

当前我们可以通过 Debug 的 Attach 方式,对 child_process 进行调试。

我们需要另一个 VSCode 实例来 Attach,两个 VSCode 一起使用。

main 项目的 .vscode/launch.json 启动 main/app.js

attach 项目的 .vscode/launch.json attach 到 child_process

目录结构分别如下,

为了能 attach 成功,我们需要同步修改 main/app.js 与 attach/.vscode/launch.json,

调试端口号可以任选,不一定的 9001 ,但应保持一致。

(1)main/app.js

(2)attach/.vscode/launch.json

(1)启动 main 项目

(2)debug attach 项目

attach 项目中按 F5 ,VSCode 会 attach 到已经启动的子进程上,

(1)main 项目,按 F5 启动调试

main 项目单步调试,

这时子进程已经启动了,切换到 attach 项目启动调试。

(2)attach 项目,按 F5 启动调试

attach 项目单步调试,

(3)main 项目 child.send

main 项目单步调试,断点直接跑到了 attach 项目中,

attach 项目单步调试,断点又回到 main 项目,

Debugging in Visual Studio Code

node.js(express)在vscode中打断点

首先点击vscode菜单栏的运行 打开配置,进行配置断点启动内容

{

            "type": "node",

            "request": "launch",

            "name": "node debugger",

            "program": "${workspaceFolder}/bin/www"

        }

然后运行调试即可

如果这个项目已经通过node start 或者其他配置启动了项目,用调试的启动项目是启动不了的,端口已经被占用。所以应该直接点击启动调试

361知讯网

本文链接:http://pdidw.com/vs/44431.html

发表评论

评论列表

还没有评论,快来说点什么吧~