关于VScode的调试

调试代码要有这么几个工具:源代码、带调试符号的程序、MAP表,调试器。

在启动调试器之前,要首先编译带有符号表的程序,生成对应map。然后启动调试器。

不同的语言有不同的特性,比如解释型语言不需要编译成可执行程序。因此不同语言调试的具体方法不同。

vscode作为通用IDE,为了弥合不同语言之间的调试差异,采用了声明式配置。用户只需要告诉vscode使用什么调试器,调试哪个程序,源代码在哪里,就能对程序进行调试。所有这些信息都保存在 .vscode/launch.json 文件中。

最核心的参数有以下几个

参数 示例 说明
type node、debugpy、chrome等 指定调试器类型
request launch、attach lanuch新启动一个程序进程进行调试;attach是把vscode作为调试器客户端,连接到远端调试服务器(远程调试)

其他公共配置-(request: "launch)

参数 说明
name 配置名称(显示在调试下拉列表中)
program 入口文件路径(如 ${workspaceFolder}/src/main.ts
runtimeExecutable 指定运行时(如 npm, node)
runtimeArgs 传递给运行时的参数
args 传递给程序的参数
env 环境变量
cwd 工作目录
console 控制台类型。 internalConsole: VS Code 内置控制台; integratedTerminal: 集成终端; externalTerminal: 外部终端

在调试js程序时,如果制定了运行时是npm,则可以不指定program.

例如:

json 复制代码
{
  "runtimeExecutable": "npm",
  "runtimeArgs": ["run", "debug"],
  "skipFiles": ["<node_internals>/**"],
  "console": "integratedTerminal",
  "outFiles": ["${workspaceFolder}/dist/**/*.js"]
}

其他公共配置-(request: "attach)

参数 说明
port 要附加的调试端口(通常 9229)
address IP 地址(默认 "localhost")
localRoot 本地工作区根目录
remoteRoot 远程工作区根目录(用于远程调试)

其他公共配置-源代码映射:

参数 说明
outFiles 编译输出文件的 glob 模式(如 "${workspaceFolder}/dist/**/*.js")
sourceMaps 是否使用 source map(默认 true)
preLaunchTask 调试前执行的任务(如编译任务)

其他公共配置:

参数 说明
skipFiles 跳过调试的文件(如 ["<node_internals>/**"]
restart 是否在终止时重启
stopOnEntry 启动时是否在入口暂停。当为true时,一旦进入调试状态,程序会自动hang住,等待用户点击"继续"才会继续执行。相当于自动加了一个断点
相关推荐
未来之窗软件服务31 分钟前
打开所在文件路径,鸿蒙系统,苹果macos,windows,android,linux —智能编程—仙盟创梦IDE
前端·ide·资源管理器·仙盟创梦ide
未来之窗软件服务43 分钟前
SAN 文件编码识别-对抗网络搜索—智能编程—仙盟创梦IDE
网络·ide·文件编码·仙盟创梦ide
小声读源码1 小时前
【部署】win10的wsl环境下调试dify的api后端服务
vscode·python·docker·uv·dify·remote-ssh·pyenv
爱吃程序猿的喵1 小时前
基于VSCode+PlatformIO环境的ESP8266的HX1838红外模块
ide·vscode·编辑器·arduino·esp8266·红外线
threelab1 小时前
02.three官方示例+编辑器+AI快速学习webgl_animation_skinning_blending
人工智能·学习·编辑器
dz小伟7 小时前
vim的配置
linux·编辑器·vim
阿运河9 小时前
如何配置 VScode 断点调试Linux 工程代码
linux·ide·vscode
cocogogogo10 小时前
Jupyter Notebook / Lab 疑难杂症记:从命令找不到到环境冲突与网络阻塞的排查实录
网络·ide·jupyter
帮帮志12 小时前
【2025年】基于电脑的jdk1.8通过idea创建springboot2.x版本(非常简洁快速)
java·ide·intellij-idea
zhang238390615415 小时前
idea如何快速生成测试类
java·ide·intellij-idea