External App Debug 0.5.0
分类: 下载/工具 · 工具软件 | 来源: 点击进入 | 版本: 0.5.0 |
日期: 2025-05-07 | 人气: | 大小: |
标签: debuggers multi-root ready |
VS Code外部应用调试扩展:简化外部应用内容开发
VS Code的external-app-debug扩展旨在简化在外部应用中执行内容的开发过程。通过与调试协议感知的应用集成,该扩展为开发者提供了强大的调试功能。
使用external-app-debug扩展
- 在VS Code中安装external-app-debug扩展
- 在VS Code的“首选项”中,进入“扩展 > 外部应用调试”,设置您希望启动的应用
- 在调试视图中,点击下拉菜单选择“添加配置...”,然后选择“外部应用调试”以在launch.json中创建调试配置
- 请注意,扩展支持启动和附加请求类型
- 其他设置如stopAtEntry和program需要目标应用确认
从那时起,VS Code将启动您指定的应用,并与其建立连接。之后的功能由应用处理,包括加载符号、控制执行、获取运行时状态等。
一个支持的应用示例(仍在开发中)可在https://github.com/CypherSignal/bsnes-plus/tree/vscode-newdbg找到。
应用开发者信息
如果您是应用的维护者,并希望您的应用作为调试目标与此扩展协作,请注意以下内容:
在运行启动请求时,您的应用将作为新进程启动,扩展将在5420到5450端口范围内进行端口扫描,尝试在每个端口创建Tcp连接。您的应用应在此端口范围内运行Tcp服务器,等待连接。如果扩展成功与您的应用建立连接,将发送一个带有命令external-apppreinit的自定义请求,类似于调试适配器协议的一部分正常请求。您需要提供一个响应,填写您的应用的pid(进程ID)。一旦收到您的应用的响应,用于端口扫描的连接将关闭,发现您的应用的端口将传递给VS Code。VS Code将在同一端口上打开一个新连接,并执行正常的调试适配器协议活动。
在运行附加请求时,会发生一些类似的行为。当然,您的应用不会被启动,但会对上述相同端口集进行端口扫描。external-apppreinit请求也将被触发,但除了您的应用的pid外,您还应填写body的标题和描述。扩展将枚举所有对external-apppreinit请求的响应者,并在选择器中为用户显示标题和描述。建议标题为您的应用名称,描述为当前加载的脚本或子程序的名称(如果有)。
如果external-apppreinit请求包含在调试适配器协议中,它将类似于以下定义:
export interface external-appPreInitRequest extends Request {
// command: 'external-apppreinit';
}
export interface external-appPreInitResponse extends Response {
// Information for this debug adapter
body: {
pid: Number; // The process ID of the executable
title: String; // The title to display on the picker, for selecting executable to attach to
description: String; // An extended description of what to attach to
}
}
除此之外,与调试适配器协议的所有交互保持不变。有关此协议的信息可在https://microsoft.github.io/debug-adapter-protocol/overview找到。
自己构建和运行扩展
- 克隆项目,并在VS Code中打开项目文件夹
- 在终端中运行npm install
- 运行“扩展”调试配置
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览