一篇万字长文读懂微软PDB、SourceLink——.net core之nuget 包调试

343 阅读1分钟

在大前年,为了说服框架组采用Nuget包的形式分发框架类库,我费了老鼻子的劲也没有取得成功,其中最致命的一个问题是,nuget包不能获得源码调试级的支持,在分发和包的管理形式上其比其他方案都优秀。最后折中的选择是采用源码直接引用项目的方式,这种方案对框架类库的新分支的开发不是很有利,在源码的保护上更是完全没有了保障,不过在当时场景下,也算是可以接受的方案之一了。而经过这几年的发展,微软在这些方面都有了长足的发展,那跟着我,来看看能否解决各位心中的疑惑?

1. 历史悠久的PDB

当看到一个人光鲜亮丽,光彩照人的时候,我们都有着一股探究其老底的冲动。是啊,凭啥他就能行,而我们就不行呢?我们起起底,探究下他的小秘密,说不定从他身上能发掘出不为人知的一面,为我们的崛起提供一些参考的方向,这不香吗?
在这里插入图片描述
扯得有点远了,我们回归正题。

1.1 PDB 和符号文件

PDB全称:Program Database,由微软开发的一种调试符号文件存储格式,在windows系统中,为了调试dll或者exe文件,需要