没有pdb文件,如何进行调试?

时间:2016-06-08 07:23:52

标签: .net visual-studio debugging pdb-files

情况:

  • 项目DEP是一个.NET类库项目,使用VS2015开发,面向.NET 4.5
  • 项目A引用DEP.dll( dll ,而不是源代码项目本身)
  • 项目A和DEP是单独解决方案的一部分

当我在调试模式下构建DEP,然后我调试项目A时,我仍然可以从DEP进入代码,即使我在DEP的输出文件夹中看不到pdb文件。我想知道如何调试DEP是可能的。我认为总是需要pdbs才能进行调试。或者,在调试模式下构建的dll是否包含足够的调试信息?

1 个答案:

答案 0 :(得分:8)

每个程序都是可调试的。调试器最基本的能力是单步处理器指令,查看处理器寄存器和检查内存。机器的灵魂。没有PDB你永远不会得到的是能够查看源代码,单步语句和检查命名变量。实际上,在没有PDB的情况下修复错误是非常不切实际的。

如果您确实看到源代码,那么这并不奇怪,调试器非常擅长定位PDB。如果您没有自己复制,那么调试器可以在项目的obj\Debug目录中找到编译器所在位置的原始位置。该PDB的路径嵌入在可执行文件中。你可以找到它是如何找到它的,使用Debug> Windows>单击模块,右键单击DLL并选择符号加载信息。它向您显示调试器在哪里寻找PDB。