Visual Studio2012调试时无法命中断点

Posted Hello 寻梦者!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio2012调试时无法命中断点相关的知识,希望对你有一定的参考价值。

 今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目--》属性--》生成--》高级--》调试信息被设置为None,然后在选项中将其选择为Full之后,问题就解决了。    

  然后看了一下,这几个选项:null 、pdb-only、full,顾名思义当选择为null时,表示不输出调试信息,即当前项目不会生成.pdb文件,当我们选择启动时为Debug模式下,该项默认为full,当我们选择默认的启动项为Release模式时,该项默认为:pdb-only,而且输出的文件的大小明显不同,前者明显大很多。

    那么在Release模式下,pdb文件到底优化了些什么内容呢?

    那么首先来介绍一下什么是pdb文件。    

  .pdb文件:

  程序数据库文件(Program Database File)。默认设置下,Debug的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码,可以对程序的调试配置进行增量链接。

     而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行,所以在代码进行调试时选择Debug作为启动项目,并且输出完整的调试信息才是正确的!

以上是关于Visual Studio2012调试时无法命中断点的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows Server 2008 上运行 Visual Studio 2012 远程调试器

无法使用 Visual Studio 2013 调试托管代码(“无法评估表达式”错误 - 正在使用调试版本)(请注意,VS 2012 有效)

调试时 Visual Studio 2019 未启动控制台应用程序窗口

无法在Visual Studio 2012中调试Web Api

在 Visual Studio 调试期间无法连接到 Oracle 数据库

无法在 Visual Studio 2012 中编译 TypeScript 文件