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

bvg*_*uwe 0 .net debugging visual-studio pdb-files

情况:

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

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

Han*_*ant 8

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

如果您实际上看到源代码然后这并不是非常令人惊讶,那么调试器非常擅长定位PDB.如果您没有自己复制,那么调试器可以在项目obj\Debug目录中找到编译器所在位置的原始位置.该PDB的路径嵌入在可执行文件中.您可以找到它是如何找到它的,使用Debug> Windows> Modules,右键单击DLL并选择Symbol Load Information.它向您显示调试器在哪里寻找PDB.