加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 如何使用Mono.Cecil检查.pdb和.dll文件是否匹配?

发布时间:2020-12-14 03:51:58 所属栏目:Windows 来源:网络整理
导读:我们在项目中使用Mono.Cecil.它是否具有允许我检查特定PDB和DLL是否匹配的任何功能? 谢谢! 解决方法 Cecil不公开API来测试pdb和dll是否匹配.但是,它会在您读取程序集时进行检查,并尝试读取其符号. 但是,对于匹配模块的pdb来说,它究竟意味着什么? 这意味着
我们在项目中使用Mono.Cecil.它是否具有允许我检查特定PDB和DLL是否匹配的任何功能?

谢谢!

解决方法

Cecil不公开API来测试pdb和dll是否匹配.但是,它会在您读取程序集时进行检查,并尝试读取其符号.

但是,对于匹配模块的pdb来说,它究竟意味着什么?

这意味着pdb和模块共享一条记录,其中包含完全相同的GUID标识符和pdb的修订号(也称为age).

有时您只想检查GUID,有时您想要检查两者. Cecil本身并没有为您提供覆盖默认行为的方法,但这是一个非常容易的变化.看看PdbReader的来源.

目前检查是在PopulateFunctions中,我们目前没有强制要求pdb的年龄必须与程序集中的调试记录相同.您可以根据自己的喜好轻松改变它.

或者你可以完全使用另一种工具:我一直在满意地使用chkmatch.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读