HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

西柚子

微信朋友圈的高性能复杂度架构

艾瑾行

#架构训练营

Ansible自动化部署安装openGauss 3.1.0 企业版

daydayup

openGauss 3.1.0 版本gs_stack功能解密

daydayup

openGauss企业级开源数据库荣获2022年度中国计算机学会(CCF)科技进步奖特等奖

daydayup

敏捷产品路线图管理实例,产品路线图工具

顿顿顿

Scrum 敏捷开发管理 产品路线图工具

开放原子开源基金会TOC(技术监督委员会)第七十七次全体会议

开放原子开源基金会

千云探探监测到7月25日法国巴黎Facebook网络恢复正常

郑州埃文科技

网络性能

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

股市老人

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

BlockChain先知

2023年7月文章一览

codists

编程人生

linux nfs共享存储服务详细解释。

百度搜索:蓝易云

云计算 Linux 运维 云服务器 NFS

openGauss的高效数据压缩算法

daydayup

覆巢之下(1)

于哲

深入浅出DAX:数据分析

TiAmo

数据分析 数据处理 DAX

2023模式识别课程师资培训会重磅招募

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

openGauss-graph 0.1.0版本正式发布

daydayup

Centos7安装配置Hive教程。

百度搜索:蓝易云

云计算 hive Linux centos 运维

拜托,别在agent中依赖fastjson了

夏奇

Java Agent 类加载 架构设计 Fastjson

文心一言 VS 讯飞星火 VS chatgpt (69)-- 算法导论6.5 8题

福大大架构师每日一题

福大大架构师每日一题

京东云正式加入openGauss社区,共筑数据库科技服务供应链

daydayup

大模型真的会“好事多模”吗?

脑极体

大模型

端口转发工具Rinetd详细入门教程

百度搜索:蓝易云

云计算 Linux 运维 端口 Rinetd

git remote 命令详解

百度搜索:蓝易云

git 云计算 Linux 运维 Remote

DBMind索引推荐功能在民生银行的生产实践

daydayup

Sprint Boot学习路线3

小万哥

Java spring 后端 springboot SpringCloud

Python超实用!批量重命名文件/文件夹,只需1行代码

程序员晚枫

Python 文件管理 自动化办公

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章