【问题标题】:How is debugging possible without pdb files?没有 pdb 文件如何进行调试?
【发布时间】:2016-06-08 07:23:51
【问题描述】:

情况:

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

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

【问题讨论】:

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


    【解决方案1】:

    每个程序都是可调试的。调试器最基本的能力是单步执行处理器指令、查看处理器寄存器和检查内存。机器之魂。如果没有 PDB,您将永远无法获得查看源代码、单步语句和检查命名变量的能力。实际上在没有 PDB 的情况下修复错误是非常不切实际的。

    如果您确实看到了源代码,那就不足为奇了,调试器非常擅长定位 PDB。如果您没有自己复制它,那么调试器可以在项目的obj\Debug 目录中的原始位置(编译器放置它的位置)中找到它。该 PDB 的路径嵌入在可执行文件中。您可以找出它是如何找到它的,使用 Debug > Windows > Modules,右键单击 DLL 并选择 Symbol Load Information。它显示了调试器在哪里寻找 PDB。

    【讨论】:

    • 我确实看到了源代码。我不知道可执行文件包含 PDB 路径
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2015-07-24
    • 2017-04-13
    相关资源
    最近更新 更多