C#发布版本仍然有.pdb文件。
在发布版本的C#中,仍然存在.pdb文件。这个问题的出现原因是为了在不同的机器上远程调试运行的代码时,可以使用本地机器上的.pdb文件来获取异常发生的行号。如果没有使用.pdb文件,堆栈跟踪中将不包含行号和文件名,这使得调试变得更加困难。
解决方法是不必将.pdb文件与发布部署一起发布,但可以保留这些文件以备后用。这样,当需要远程调试运行在不同机器上的代码时,可以使用本地机器上的.pdb文件来获取异常发生的行号。这样一来,即使不在同一台机器上进行调试,也可以通过.pdb文件来定位异常的位置。
这篇文章通过C#发布版本仍然存在.pdb文件这个问题,说明了.pdb文件的作用以及解决方法。这些.pdb文件可以用于远程调试运行在不同机器上的代码,通过.pdb文件可以获取异常发生的行号。不将.pdb文件与发布部署一起发布,可以防止泄漏代码的同时,仍然可以利用.pdb文件进行调试。
C#发布版本仍然有.pdb文件的原因是为了在调试时获取更多信息,而生成PDB文件并不会影响代码的性能。因此,默认情况下,即使在发布版本中也会生成PDB文件。生成PDB文件的唯一开销是占用一定的磁盘空间,除非你进行调试,否则不会有其他开销。因此,除非你正在调试或发布商业软件,否则不建议在发布版本中生成PDB文件。
对于是否有人进行了相关测试来确认PDB文件是否会降低性能,大家似乎都达成了共识,即PDB文件不会降低性能。
有人问PDB文件在逆向工程方面是否有用,这是因为他正在对发布版本进行混淆。然而,由于运行时并不读取PDB文件,因此除了占用一定的磁盘空间外,并没有其他开销。
虽然有人认为发布版本应该是不包含调试信息的,但大多数人认同生成PDB文件的好处,即在调试时能够获取更多信息。因此,除非你正在调试或发布商业软件,否则建议在发布版本中生成PDB文件。