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作为启动项目,并且输出完整的调试信息才是正确的!

原文地址:https://www.cnblogs.com/seekdream/p/5960596.html