pdb文件实际上做了什么?

好的,我意识到PDB文件是.NET程序集的符号文件。 但我从来没有真正考虑过它们的扩展用法。

如果我从加载了运行代码的Visual Studio中调用远程调试器,是否真的需要远程计算机上的PDB文件?

在运行代码的机器上没有PDB文件和连接源代码的调试器时,是否会在没有它们的情况下获取未处理的异常信息?

他们还做了什么?


在远程调试情况下,如果在远程机器上需要PDB,我不会记得,但除此之外,PDB包含编译代码偏移地图的源代码行号。 您无法单独使用托管程序集来浏览源代码。

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

未处理的异常通知与PDB是否存在无关。 如果一个调试器连接到进程,不管是否是远程的,调试器将首先破解这个异常。


远程计算机上不需要pdb。 调试器本身必须能够找到它,而不是远程代理片断。

链接地址: http://www.djcxy.com/p/2075.html

上一篇: What do the pdb files actually do?

下一篇: best approach for a slow web service?