当前位置: 首页 > backend >正文

关于VScode的调试

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

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

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

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

最核心的参数有以下几个

参数示例说明
typenode、debugpy、chrome等指定调试器类型
requestlaunch、attachlanuch新启动一个程序进程进行调试;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.

例如:

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

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

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

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

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

其他公共配置:

参数说明
skipFiles跳过调试的文件(如 ["<node_internals>/**"]
restart是否在终止时重启
stopOnEntry启动时是否在入口暂停。当为true时,一旦进入调试状态,程序会自动hang住,等待用户点击“继续”才会继续执行。相当于自动加了一个断点
http://www.xdnf.cn/news/5113.html

相关文章:

  • YOLO使用CableInspect-AD数据集实现输电线路缺陷检测
  • C++结构体介绍
  • C# NX二次开发:宏录制实战讲解(第一讲)
  • Jetpack Compose 状态管理:为什么 `by viewModel.state` 能自动刷新界面?
  • C语言实现三子棋
  • java volatile关键字
  • LINUX CFS算法解析
  • YOLO目标检测算法
  • 麦角硫因:全能型护肤成分的技术突破与应用前景
  • 数据链路层服务
  • 基础RNN网络详解
  • 餐饮行业新风口:上门厨师服务系统的技术实现路径
  • 机器视觉的平板电脑屏幕组件覆膜应用
  • canoe的安装总结
  • requests库
  • 【笔记】BCEWithLogitsLoss
  • [Windows] 摄像头分身工具【CamSplitter】
  • upload文件上传
  • ES6新增Set、Map两种数据结构、WeakMap、WeakSet举例说明详细。(含DeepSeek讲解)
  • 【PINN】DeepXDE学习训练营(18)——operator-diff_rec_unaligned_pideeponet.py
  • 安全核查基线-1.LPD服务
  • 【软件设计师:体系结构】15.计算机体系结构概论
  • 将/root下的employee.json挪到/home/Downloads/
  • 让模型具备“道生一,一生二,二生三,三生万物”的现实实用主义能力
  • Stagehand:AI驱动的下一代浏览器自动化框架
  • 历史温度曲线能优化样本存储的条件还是确保样本处于稳定状态呢?
  • Linux系统入门第十一章 --Shell编程之函数与数组
  • CreArt 2.5.6 |无限AI图片生成工具,将文字描述转化为独特艺术作品,解锁高级版
  • FastChat部署大模型
  • 从量子计算到人工智能代理