AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

介绍 Portable PDB

  • 2017-02-12
  • 本文字数:484 字

    阅读完需:约 2 分钟

为了调试编译的应用程序,有必要将 IL 代码或二进制的机器代码与源代码行进行匹配。虽然数据可以嵌入在应用程序中,但这会显著增加 EXE 或 DLL 文件的大小。取而代之的是,通常会使用单独的“symbols”文件。在 Windows 平台上,这被称为 PDB 或“程序数据库”。

早期 PDB 格式是为了 C 和 C++ 设计的,发展了多年以来现在已经支持.NET 了。不幸的是,这种格式一直以来都被认为是专有的,这就意味着它没有很好文档记录,而且只能使用 Windows 库读取。

有了.NET Core,就需要一个新的跨平台 PDB 库。然而,不仅仅只是转移现有的库,Microsoft 选择重写 Windows PDB 格式。新的 Portable PDB 格式删除了本地代码所需的功能,只保留了.NET 功能。通过这样做,可以简化格式,并显著减小 PDB 文件大小。

Portable PDB 格式是公开记录的,还有用来读取它的开源库。但有一些缺点:Portable PDB 格式不支持编辑及继续、FXCop 风格代码分析(Roslyn 代码分析可与运行)、性能分析工具、后编译构建步骤,如AOP、Code Contracts 或是.NET decompilers。这些局限会进行改进,但需要时间来升级工具以支持新的格式。

查看英文原文 Introducing Portable PDB

2017-02-12 18:001553
用户头像

发布了 218 篇内容, 共 68.0 次阅读, 收获喜欢 76 次。

关注

评论

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

如何更好地导入Scrum?

敏捷开发

Scrum 敏捷开发 企业管理 软件研发 敏捷转型

Redis开源社区持续壮大,华为云为Valkey项目注入新的活力

华为云开发者联盟

数据库 redis 开源 华为云 华为云开发者联盟

低代码优于无代码?

禅道项目管理

软件开发 低代码 知识分享 无代码 开发人员

Partisia Blockchain 生态首个zk跨链DEX现已上线

加密眼界

从0到1:商场导览小程序开发笔记一

CC同学

交易履约之产品中心实践| 京东云技术团队

京东科技开发者

vue3早已具备抛弃虚拟DOM的能力了

EquatorCoco

DOM 虚拟机 Vue3

Python文本统计与分析从基础到进阶

华为云开发者联盟

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

NineData亮相2024中国移动算力网络大会

NineData

数据库 中国移动 移动云 算力网络 NineData

如何全面规避医疗数据安全风险?“一中心三大管控域”打开新思路!

BinTools图尔兹

数据库 数据安全 脱敏 电子病历 医疗信息化

探秘Appium:Capability 进阶技巧揭秘!

测吧(北京)科技有限公司

测试

即时通讯安全篇(十四):网络端口的安全防护技术实践

JackJiang

即时通讯;IM;网络编程

NFTScan | 04.29~05.04 NFT 市场热点汇总

NFT Research

NFT NFTScan

Partisia Blockchain 生态首个zk跨链DEX现已上线

大瞿科技

百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队

京东科技开发者

Footprint Analytics 与 Core Chain 达成战略合作

Footprint Analytics

blockchain NEW chain

探秘Appium:Capability 进阶技巧揭秘!

测试人

软件测试

架构师六个生存法则之一:如何找到唯一且正确的架构目标?

不在线第一只蜗牛

架构

OpenTiny Vue 3.15.0 正式发布,推出全新的 Charts 图表组件底座,功能更强、图表更丰富!

OpenTiny社区

Vue Web 前端开发 开源组件库

淘宝搜索API返回值解析与关键字搜索背后的数据逻辑

技术冰糖葫芦

API Explorer API boy API】 pinduoduo API

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章