写点什么

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

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

关注

评论

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

详谈数据中心网络中的四种不同类型的虚拟化技术:VXLAN、NVGRE、STT和SPBM

wljslmz

6 月 优质更文活动

2023中国高校计算机大赛 — 大数据挑战赛:论文学科分类(清华大学主办)

汀丶人工智能

人工智能 自然语言处理 深度学习 文本分类 6 月 优质更文活动

基于51单片机的智能营养秤系统设计与实现

DS小龙哥

6 月 优质更文活动

【Nest系列】1.初识 NestJS 和 Hello, World

昆吾kw

Node Nest.js

横看Dubbo-微服务治理之流量防护

M

原创 微服务 dubbo sentinel

【Netty】「萌新入门」(六)ByteBuf 的基本使用

sidiot

Java 后端 Netty 6 月 优质更文活动

平凯星辰重磅支持 2023 开放原子全球开源峰会,开源数据库分论坛成功召开

PingCAP

数据库 开源 TiDB

2023-06-17:说一说redis中渐进式rehash?

福大大架构师每日一题

redis 福大大架构师每日一题

在Linux中,如何列出和删除 Iptables 防火墙规则?

wljslmz

6 月 优质更文活动

PoseiSwap IDO 即将开启,一览 $POSE 经济模型

鳄鱼视界

理论实战源码齐飞!架构师社区疯传的SpringSecurity进阶小册真香

程序员小毕

Java 程序员 架构师 springboot springsecurity

为什么中国一有创新,就被说套壳?

脑极体

套壳

SpringWeb服务构建轻量级Web技术体系:SpringHATEOAS

互联网架构师小马

绿了,又绿了,现在程序员行情已经好转了吗?华为都不刷人了!

互联网架构师小马

Java java面试 Java八股文 Java面试题 Java面试八股文

【Netty】「萌新入门」(七)ByteBuf 的性能优化

sidiot

Java 后端 Netty 6 月 优质更文活动

关于未来LLM AI应用的思考,以及从0到1实现LLM资料分析。

Marvin

ChatGPT LLM 企业级应用思考

C语言编程语法—结构

芯动大师

C语言 语法 6 月 优质更文活动

极限科技旗下软件产品 INFINI Easysearch 通过统信 UOS 认证

极限实验室

搜索引擎 UOS 统信 国产化替代 easysearch

JAVA实现一个工作流引擎

小小怪下士

Java 程序员 工作流

全国大数据与计算智能挑战赛:面向低资源的命名实体识别基线方案,排名13/64

汀丶人工智能

人工智能 自然语言处理 关系抽取 命名实体识别 6 月 优质更文活动

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章