【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

微软公开了 Visual Studio 调试引擎 Concord 的示例和文档

  • 2015-10-15
  • 本文字数:907 字

    阅读完需:约 3 分钟

Visual Studio 调试引擎文档及其包含的两个示例现在已经上线了。 这个调试引擎代号Concord,是最初与Visual Studio 2012 一同发布的新调试引擎。

Concord 的设计由多个相互联系的不同部件组成,而不是如前任般的整体统一。这种新设计让公共 API 成为可能,提供入口来扩展 Visual Studio 的调试功能如断点或调用栈。该设计也为扩展实现提供了使用本地(C++)代码或使用托管(C#)代码的选择。

第一个示例是经典的HelloWorld 。编译需要Visual Studio SDK。HelloWorld 示例在调用栈中输出1 行,如下图。

另外一个扩展示例是.NET language (CLR) 表达式计算器。表达式计算器是一个允许用户使用与代码相同的语言进行调试的组件。这通过定制化代码语言的调试器窗口如监视、调试栈和功能断点来实现。简单讲,这个扩展提供了如何在Visual Studio 中为定制化编译器实现调试的示例。

Concord API 相当大,这些已有的线索能让导览更简单:

  1. 当决定要实现什么接口的时候,我们把所有接口按实现接口的组件类别组织起来。如果你看一下本地 API 的头文件(vsdebugeng.h),你可以见到各个接口是按节排列的,节就像是一段对那个类别的组件用途的描述。
  2. 当寻找方法去调用的时候,会忽略接口。Concord API 以类的方法而不是接口方法的形式曝露给调用者。
  3. 即使你在用托管代码实现一个 Concord 组件,有时候找到你想要的方法的最快途径是在 vsdebugeng.h 中搜索字符串。因为本地和托管代码的 API 是一样的,如果你找到本地 API,在托管代码中也同样能用。
  4. 在 Microsoft.VisualStudio.Debugger.Engine 中浏览参考 - 这是#3 的另一面,即便你是在本地代码中使用 Concord API,Visual Studio 对于托管 API 的浏览支持得真的很好。

虽然 Concord 自身并不是开源的,然而这个文档项目是。可以通过提交新示例作出贡献。

查看英文原文: Microsoft makes Samples and Documentation Public for Concord, Visual Studio Debug Engine


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-10-15 19:001956

评论

发布
暂无评论
发现更多内容

LiveVideoStack人物专访:深耕多媒体二十载,他怎么看未来的视频云?

阿里云视频云

云计算 视频云 多媒体

如何搭建适合自己的数字人源码系统?

青否数字人

数字人

传统企业和数字化企业的关系及优劣势

天津汇柏科技有限公司

数字化转型 企业数字化

第37期 | GPTSecurity周报

云起无垠

谷歌 2024 新年目标曝光:一边做地表最强 AI,一边裁更多员工丨 RTE 开发者日报 Vol.132

声网

一览2023 Web3 风云录

TechubNews

web3 香港Web3

微服务的拆分规范和原则

伤感汤姆布利柏

一个很热的国产低代码开发平台

2D3D前端可视化开发

物联网 低代码开发平台 数字孪生 前端设计 可视化开发

融云全球通信网的「最后一公里体验」之战

融云 RongCloud

解析Java Chassis 3中应用视角的配置管理

华为云开发者联盟

Java 微服务 开发 华为云 华为云开发者联盟

玩转数据处理利器:学会使用 YAML 文件轻松处理数据

霍格沃兹测试开发学社

全国独家线下面授 | 上海 · 大规模敏捷认证LeSS实践者课程3月14-16日火热报名

ShineScrum捷行

大规模敏捷 LeSS认证 CLP认证 LeSS认证实践者

动态规划-序列比对-Smith-Waterman

alexgaoyh

Java 动态规划 编辑距离 序列比对 Smith-Waterman

光纤的连接

小齐写代码

别再因为React、Vue吵了,真的毫无新意!

伤感汤姆布利柏

深入探析MySQL数据库:优势、版本与发展全面解读

小魏写代码

测试管理进阶 | 如何打造一份出彩的工作汇报!

测试人

软件测试 测试 自动化测试 测试开发 测试管理

奖金 30 万!OurBMC 开源大赛等你来战

OurBMC

开放原子大赛 BMC全栈技术 ourBMC 飞腾服务器故障诊断

【年后跳槽必看篇-非广告】Kafka核心知识点-第二章

派大星

Java 面试

【第七在线】智能商品计划:让供应链管理更加智能、高效

第七在线

华为云低代码问答——低代码为什么这么“香”

华为云PaaS服务小智

低代码 华为云

Linux 中常用的基础命令

emanjusaka

bash Linux command

怎样搭建数字人直播间?

青否数字人

数字人

为什么选择 NineData 作为 MongoDB 的最佳拍档?

NineData

mongodb NineData MongoDB 数据库管理工具 MongoDB数据库

【教程】混淆Dart 代码

文心一言 VS 讯飞星火 VS chatgpt (185)-- 算法导论14.1 2题

福大大架构师每日一题

福大大架构师每日一题

虚拟数字人制作软件有哪些功能?

青否数字人

数字人

Dart代码混淆

雪奈椰子

基于PAI-EAS一键部署Stable Diffusion AIGC绘画

阿里云大数据AI技术

请谨慎选择工作offer

老张

面试 求职面试 offer大厂

Prometheus最佳实践 Summary和Histogram

华为云开发者联盟

开发 华为云 华为云开发者联盟

微软公开了Visual Studio调试引擎Concord的示例和文档_.NET_Pierre-Luc Maheu_InfoQ精选文章