写点什么

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

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

关注

评论

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

干货 | 接口自动化测试分层设计与实践总结

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 属性获取与断言

霍格沃兹测试开发学社

启科量子开源量子编程框架 QuTrunk

启科量子开发者官方号

人工智能 开发工具 量子计算 量子技术 启科量子

十大 CI/CD 安全风险(三)

SEAL安全

DevOps CI/CD DevSecOps 软件供应链安全

Wave-2 802.11ac SoC for Routers, Gateways and Access Points//IPQ4019,IPQ4029,Wallys

wallys-wifi6

IPQ4019 ipq4029

十问分布式数据库:技术趋势、选型及标准思考

OceanBase 数据库

技术分享 | app自动化测试(Android)-- Capability 使用进阶

霍格沃兹测试开发学社

Java中方法的定义和调用

共饮一杯无

Java 后端 10月月更

Java中流程控制语句

共饮一杯无

Java 流程控制 10月月更

搜索中常见数据结构与算法探究(二)

京东科技开发者

数据结构 算法 时间复杂度 KMP 算法与数据结构

技术分享 | app自动化测试(Android)--显式等待机制

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 特殊控件 Toast 识别

霍格沃兹测试开发学社

Qt | 视图便捷类的使用 QListWidget QTreeWidget QTableWidget

YOLO.

qt 10月月更 C++

Qt | 便捷类中使用拖放功能 Drag

YOLO.

qt 10月月更 C++

笔记本电脑内卷之争:华硕4+4无忧保脱颖而出

Geek_2d6073

2022Q3消费级AR眼镜市场季度分析:国产品牌纷纷发力,市场全面启航

易观分析

科技 AR眼镜 季度报告

一个值得深思的话题:Wi-Fi 7的诞生会不会取代 5G 网络?

wljslmz

5G 无线技术 10月月更 WiFi7

StampedLock:一个并发编程中非常重要的票据锁

华为云开发者联盟

高并发 开发 华为云 企业号十月PK榜

Vue基础-插值表达式-数据驱动视图-指令系统

默默的成长

前端 Vue 3 10月月更

6步搭建一个飞机大战游戏

华为云开发者联盟

云计算 软件开发 华为云 企业号十月PK榜

测试人生 | 疫情之下工资翻了2倍多,这4个月学习比工作8年学到的还多

霍格沃兹测试开发学社

啃论文俱乐部——移植speexdsp到OpenHarmony标准系统⑥

离北况归

OpenHarmony

【LeetCode】最长公共前缀Java题解

Albert

LeetCode 10月月更

技术分享 | app自动化测试(Android)-- 参数化用例

霍格沃兹测试开发学社

记录第二天-Vue起步

默默的成长

前端 Vue 3 10月月更

Java基础(三)| switch、循环及Random详解

timerring

Java random Switch 循环 10月月更

VUE 初学者基础知识

默默的成长

Vue 前端 10月月更

使用 Zpan 搭建低成本个人私有网盘,还不限速

华为云开发者联盟

云计算 华为云 网盘 企业号十月 PK 榜

三方库移植之NAPI开发[1]—Hello OpenHarmony NAPI

离北况归

OpenHarmony

猜数字游戏

掘金安东尼

算法 10月月更

EasyCV DataHub 提供多领域视觉数据集下载,助力模型生产

阿里云大数据AI技术

深度学习 开源 模型 计算机上视觉

介绍Portable PDB_.NET_Jonathan Allen_InfoQ精选文章