您的位置:首页 > 其它

VS2005 vs2008 vs2010 调试时打不了断点总结

2014-08-21 11:51 197 查看
VS编程调试时,偶尔会遇到打不了断点的情况,根据一路下来的经验,总结一下,以免以后遇到这种情况可以再参考下。(注:此文章相当于自己的学习笔记,以供自己今后参考,希望不要给各位带来坏的示范,有错误请多指正)

本文截图使用的VS软件为VS2005,vs2008 2010等类同

1、先确定不是低级原因造成的打不了断点(如某一文件代码漏编译等情况,则此文件打不了断点)

2、若一开始时可调试,但改动一点代码后不能打断点调试,则:

工具->选项->调试下的“要求源文件与原始版本完全匹配“的钩去掉即可打断点了(也可能从别人那里拷过来或者网上下载的代码,代码中某些字符(汉字等)乱码时,也可以用此方法解决乱码的问题,若不用此方法,则将代码保存为不乱码的格式,则又可以打断点了)





3、若解决方案配置为Release模式,则需要进行相应的设置。

解决方案配置可在此处看到:



更改此配置在:生成->配置管理器 里面



为Release模式需要进行以下几个步骤的设置

(1)、选中工程,右击,点击属性,得到如下页面,将调试信息格式改成如图所示或者”用于“编辑并继续”的程序数据库(/ZI)“皆可。

除”禁用“外的另外两种格式(C7兼容等)不知道是否也可以?



(2)、接着上面的窗口,将 优化 选项设置为禁用(保证被编译到的所有代码可以打断点,否则有可能同一文件中,有部分代码不能打断点)



(3)、按照下图将生成调试信息设置成 是(/DEBUG)



完成以上几个步骤的设置基本上可以解决打不了断点的情况了

需要注意的是,设置完成后需要 点击 "重新生成解决方案" 或者删除先前生成的pdb文件点击"生成解决方案即可"

4、若使用的是COM组件,则重新生成的DLL需要重新注册com,否则也打不了断点

5、若要调试动态库,则有多种方法:

1)、将要调试的dll工程和exe工程放在同一个解决方案下,直接单步调试即可进入相应函数

2)、在要调试的函数中MessageBox,待弹出对话框后,附加到相应的exe程序即可

3)、工程右键->属性->配置属性->调试->命令参数,填上调用此dll的exe全路径名(如D:\a.exe),打上断点,F5运行即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: