pdb文件实际上做了什么?

Mat*_*att 7 .net debugging symbols

好的,我意识到PDB文件是.NET程序集的符号文件.但我从未真正研究过他们的扩展用法.

如果我从一个加载了运行代码的可视工作室中使用远程调试器,我是否真的需要远程计算机上的PDB文件?

如果没有PDB文件和连接源代码的调试器,我会在运行代码的机器上获得未处理的异常信息吗?

他们还做了什么?

dth*_*rpe 2

我不记得在远程调试情况下远程计算机上是否需要 PDB,但除其他外,PDB 包含编译代码偏移映射的源代码行号。您无法仅使用托管程序集单步调试源代码。

由于托管程序集确实保留了原始源代码中的大量文本符号名称,因此您可以在没有 PDB 的情况下使用调试器在托管可执行文件中查看,但您只能看到类型名称和公共符号 - 您将看不到查看本地符号的名称,因为不需要这些名称来绑定到 .NET 程序集或在运行时将 IL 编译为本机代码。

未处理的异常通知与 PDB 是否存在无关。如果调试器附加到进程,无论是否远程,调试器都会首先破解异常。