登录
External App Debug
分类:工具软件 访问:12 下载量:0

软件介绍

更新时间:2025-05-07

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
  • 运行“扩展”调试配置

本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!

本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!

如有侵权请联系我们删除下架,联系方式:study_golang@163.com

最新教程

查看更多
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......