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

关于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.dtcms.com/a/180769.html

相关文章:

  • DVWA靶场保姆级通关教程--07SQL注入(上)
  • JVM之内存管理(一)
  • Servlet、HttpServlet 和 DispatcherServlet 区别与关系
  • 鸿蒙开发:dialog库做了一些优化
  • htmlUnit和Selenium的区别以及使用BrowserMobProxy捕获网络请求
  • 住宅IP的深度解析与合理运用
  • 聊聊Spring AI autoconfigure模块的拆分
  • 在线工具源码_字典查询_汉语词典_成语查询_择吉黄历等255个工具数百万数据 养站神器,安装教程
  • DeepSeek“智”造:解锁旅游行业新玩法
  • stm32F103芯片 实现PID算法控制温度例程
  • AI文旅|暴雨打造旅游新体验
  • PostgreSQL技术内幕30:Heap Only Tuple(HOT)原理解析
  • 五一旅游潮涌:数字化如何驱动智慧旅游升级
  • HiklQQBot开源程序基于python的轻量qq官方机器人框架 快速部署启动官方QQ机器人 插件编写简单易懂 支持小白AI一键生成插件
  • 乌班图安装docker
  • XML Forms Data Format (XFDF) 工作原理、数据结构、使用场景以及与缓冲区的交互方式
  • FPGA实战项目2———多协议通信控制器
  • UG471 之 SelectIO 逻辑资源
  • 高频微服务面试题总结
  • 19、HashTable(哈希)、位图的实现和布隆过滤器的介绍
  • 【Go底层】http标准库服务端实现原理
  • A* (AStar) 寻路
  • MySQL 的事务(Transaction)
  • 使用pyTorch 自然语言处理(NLP)知识库创建
  • 第十七章,反病毒---防病毒网管
  • Ubuntu 第11章 网络管理_常用的网络配置命令
  • AT9880B北斗单模卫星定位SOC芯片
  • 报错 | vitest中,vue中使用jsx语法,报错:ReferenceError: React is not defined
  • Java设计模式之单例模式:从入门到精通
  • 虚假AI工具通过Facebook广告传播新型Noodlophile窃密木马