好的,我知道PDB文件是.NET程序集的符号文件。但我从未真正研究过它们的扩展用法。 如果我使用Visual Studio中的远程调试器连接到已加载运行代码的远程计算机,那么我是否实际上需要在远程计算机上拥有PDB文件? 如果在运行代码的机器上没有PDB文件和连接源代码的调试器,我会得到未处理的异常信息吗? 它们还能做什么?
我不确定在远程调试情况下是否需要在远程计算机上安装PDB文件,但是除其他外,PDB文件包含源代码行号到编译后代码偏移量的映射。如果仅使用托管程序集,则无法逐步执行源代码。由于托管程序集保留了许多原始源代码的文本符号名称,因此您可以使用调试器浏览托管可执行文件而不需要PDB文件,但是您只能查看类型名称和公共符号 - 您将无法看到局部符号的名称,因为这些名称不需要在运行时绑定到.NET程序集或JIT IL以将其转换为本机代码。未处理的异常通知与PDB文件是否存在无关。如果调试器已连接到进程,无论是远程还是本地,调试器都将首先处理异常。