最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

Smart Finance成为火必投票竞选项目,参与投票获海量奖励

鳄鱼视界

推动GameFi走向新叙事的Smart Finance,成为火必投票竞选项目

股市老人

高并发系统设计的15个锦囊

小小怪下士

Java 程序员 系统设计 高并发

你知道微服务架构中的“发件箱模式”吗

JAVA旭阳

Java 架构

分享 7 个VUE项目用得上的JavaScript库

devpoint

JavaScript Vue 前端开发 前端开发框架

分享 7 个不错的 AI 工具

devpoint

人工智能 AI openai

一加11:新的赛场,“不温和”的答卷

脑极体

CMD有哪些有趣的命令?

Jackpop

如何告别丑陋判空?一个Optional类就能搞定!

风铃架构日知录

Java 程序员 程序人生 后端 码农

如何使用Gradle构建一个多模块项目?

风铃架构日知录

Java 程序员 后端 码农 架构师

如何让你的架构设计应用做到高内聚、低耦合?

风铃架构日知录

Java 程序人生 后端 架构设计 后端开发

OpenTelemetry日志体系

骑牛上青山

Java 日志 log 调用链 OpenTelemetry

连续四年发布科技趋势预测,他们在探索中国科技的“主干道”

脑极体

Python专属搜索引擎!又一款Python库学习神器?

Jackpop

Java学习者看过来!这些优质项目千万别错过

Jackpop

Portraiture4人像智能磨皮插件下载亲测可用

茶色酒

Portraiture2023 Portraiture

使用 App Store Connect API 批量创建内购商品

37手游iOS技术运营团队

AppleParty 苹果派 App Store Connect API 批量创建内购IAP 批量上传 IAP

Github上有什么好的unity开源项目?

Jackpop

8.3K Star!这才是我们苦苦寻找的PDF阅读器。。。

Jackpop

2023-01-06:给定一个只由小写字母组成的字符串str,长度为N, 给定一个只由0、1组成的数组arr,长度为N, arr[i] == 0表示str中i位置的字符不许修改, arr[i] ==

福大大架构师每日一题

算法 rust Solidity 福大大

使用 OpenAI ChatGPT 进行了编码尝试

devpoint

人工智能 openai ChatGPT

Git遇到冲突?解决也太简单了!

Jackpop

创作技术博客以来的一些成就

嵌入式视觉

知乎 博客 CSDN 博客园

数字人民币创新浪潮来袭,支付机构如何“乘风破浪”?

易观分析

金融 数字人民币 数字支付

用 SwiftUI 实现 AI 聊天对话 app - iChatGPT

37手游iOS技术运营团队

ios SwiftUI openai ChatGPT

EditText(输入框)详解

智趣匠

android edittext 输入框设计 文本框(TextView)

8 个很酷的 GitHub 技巧

devpoint

GitHub vscode 开发技巧

【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

洛神灬殇

redis 数据同步 1月日更 数据同步工具 RedisShake

性能测试技术笔记(三):如何设计一个压测平台

老张

性能测试 压测平台

推动GameFi向2.0时代演进的Smart Finance,正在成为火必投票上币竞选项目

EOSdreamer111

干掉 “重复代码”,这三种方式绝了!

风铃架构日知录

Java 程序员 码农 工程师 代码

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章