写点什么

介绍 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:001884
用户头像

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

关注

评论

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

为什么研发规范,代码评审,单元测试推不动

赫杰辉

什么是单元测试,和集成测试有什么区别?

派大星

单元测试 Java 面试题 互联网大厂面试

C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

一张二维码VS一个行李箱?!看华为云时习知如何助力防城港核电基本安全考试

平平无奇爱好科技

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

鳄鱼视界

解析基础设施即代码:重新定义云管理

SEAL安全

DevOps 云原生 IaC

解密数仓的SQL ON ANYWHERE技术

华为云开发者联盟

大数据 华为云 SQL语句 华为云开发者联盟 企业号2024年4月PK榜

Penpad Season 2 质押突破350ETH,参与可获Scroll生态空投

石头财经

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

BlockChain先知

Dumping grounds

Echo!!!

Expression English

万字长文,聊聊我在京东锦礼成长的这一年

京东零售技术

后端 技术人生 企业号 4 月 PK 榜

昇思之路,从AI基础软件到生态繁花

脑极体

AI

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

加密眼界

ShowMeBug李亚飞:IDE与AI自动编程技术将增强超级程序员

B Impact

深入探索Linux的lsof命令

GousterCloud

Linux

AI大模型微调训练营-毕业总结

简单

听说测试“有手就行 ”?华为20年测试老兵干货分享!

华为云开发者联盟

物联网 华为云 华为云开发者联盟 DTSE Tech Talk 企业号2024年4月PK榜

对 NGINX、Kong 和 Amazon 的 API 管理解决方案进行基准测试:它们能否交付实时 API?

NGINX开源社区

nginx SaaS API GigaOm Kong Cloud

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

股市老人

Penpad Season 2 质押突破350ETH,还有望获Scroll生态空投

股市老人

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章