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,如果你有更好,更简单的调试方式请告诉我...
unity教程一:配置vscode调试unity c# 环境
Debugger for Unity
Unity Tools
Unity Code Snippets
Debugger for Unity环境配置
安装后输入mono查看是否能找到对应命令
安装后输入dotnet查看是否能找到对应命令
安装后记得关闭终端,vscode,unity,然后再打开不然会出现下面提示
完全重启vscode,unity
先后点击vscode调试,再点击unity上面的play,成功断点
参考
VSCode调试vue项目
先决条件
你必须安装好 Chrome 和 VS Code。同时请确保自己在 VS Code 中安装了 Debugger for Chrome 扩展的最新版本。
在可以从 VS Code 调试你的 Vue 组件之前,你需要更新 webpack 配置以构建 source map。做了这件事之后,我们的调试器就有机会将一个被压缩的文件中的代码对应回其源文件相应的位置。这会确保你可以在一个应用中调试,即便你的资源已经被 webpack 优化过了也没关系。
打开 config/index.js 并找到 devtool 属性。将其更新为:
如果使用 vue-cli3 你需要设置 vue.config.js 内的 devtool 属性:
进入Debugger视图,添加Chrome配置,将内容替换成以下内容
设置断点
此处response返回数据
启动调试
在终端使用如下命令开启这个应用
进入Debug视图,选择‘vuejs:chrome’配置,然后按F5或点击绿色的play按钮
随着一个新的 Chrome 实例打开 ,你的断点现在应该被命中了。
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 调试
更全面的信息可以参考官方 调试手册 ,以下记录我用 VSCode 调试的一些经验。
想要在 VSCode 里调试,需要配置两个文件 tasks.json 和 launch.json 。
这两个文件按 F5 后会自动在 .vscode 目录下生成。
一般默认生成的 tasks.json 文件如下:
我们需要关注的选项有:
深入理解 tasks.json 文件的作用与 "command" 选项的用法,我们就能灵活地配置构建工程。
tasks.json 文件是用来构建工程的,当我们按 F5 进行调试时,VSCode 首先会执行 tasks.json 文件里 "command" 选项后的命令,并传入 "args" 参数,这样整个工程就被重新编译链接一遍了。
以 hello.c 文件和上述 tasks.json 为例,按 F5 进行调试时,最终会在命令行执行下述命令构建工程:
当然,如果一个工程有多个文件,"command" 就不能是简单的 gcc 了,需要根据实际的构建系统选择。
如果构建系统使用的是 Makefile ,那我们可以配置
这样在构建项目时就会使用命令
这跟我们平时使用 make 构建项目是一致的。
又比如配置 Zephyr 环境,
这样在构建项目时相当于执行命令
launch.json 文件用于配置调试环境。一般默认生成的文件如下:
我们需要关注的选项有:
VSCode 预定义了一些变量,可以在 Variables Reference 查看意思。
有时候我们的程序需要访问硬件资源,这一般需要 root 权限,而 VSCode 一般是在用户权限下启动的,这就需要特殊配置 VSCode 才能调试程序。
下面介绍如何利用 VSCode 以 root 权限调试程序。
首先需要注意到 launch.json 文件里的 "miDebuggerPath" 这个选项,它是调试器的路径,如果这个调试器可以以 root 权限运行,那么就达成了我们的目的了。
在 /home/user_name 目录下创建文件 gdb,user_name 需要替换为实际的用户名。
然后编辑该文件 vim gdb ,加入下述内容:
给 gdb 添加执行权限,
在修改 "miDebuggerPath" 成为
即可。这样我们就可以在 VSCode 里以 root 权限调试程序了,只不过每次都需要输入密码,因为有一个 sudo 过程。
为了解决这个麻烦,我又在网上找到了方法,将 /home/user_name/gdb 加入 sudo 的免密认证即可。
输入
编辑 /etc/sudoers 文件,修改成下述内容即可,
其中 jackis 是我的用户名,需要根据实际用户名替换。
NOPASSWD: 后的命令 sudo 时都不需要密码。退出 Shell,再重新打开一个命令行界面,输入 sudo apt update ,会发现没有提示输入密码了。
参考:
How to debug programs with “sudo” in VSCODE
How to Run sudo Commands Without Password