介绍Portable PDB

责任编辑:editor004

作者:Jonathan Allen

2017-02-13 11:32:05

摘自:INFOQ

 在当今互联网+ 风起云涌的大环境下,一方面电子商务,互联网金融,各类 O2O 遍地开花,另一方面互联网上的各类违法违规的恶意行为也愈演愈烈,严重影响互联网生态的正常秩序。

为了调试编译的应用程序,有必要将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。这些局限会进行改进,但需要时间来升级工具以支持新的格式。

链接已复制,快去分享吧

企业网版权所有©2010-2025 京ICP备09108050号-6京公网安备 11010502049343号