【Visual Studio】之调试断点无效,不触发、行号错乱等问题解决方法

调试dll的时候发现断点没有触发,以下总结一下在网上找到的解决方案。

一、 确定dll,pdb被程序正常加载

二、解决方案

1、VS设置

  • 解决方案配置是 Debug ,但没有在工程属性页中“Alt+F7”->“配置属性”->“C/C++”->“常规”->“调试信息格式”,选择“用于“编辑并继续”的程序数据库(/ZI)”。另外,在“配置属性”->“链接器”->“调试”->“生成调试信息”中,选择“是”。
  • 解决方案配置是 release ,直接F5调试就可以,VS会提示你“没有找到调试信息,要继续调试吗?”,选择“是”即可。
  • 检查工程所在路径是不是有中文,有VS不支持中文路径的可能(参照http://blog.csdn.net/red_hope/archive/2007/10/20/1833916.aspx 的经验)
  • 删掉.ncb和.opt文件,然后rebuild all。
  • 看是否有:“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告,把那个cpp文件用记事本打开,另存为unicode格式,再重新编译。(参照http://www.cppblog.com/qiujian5628/archive/2008/04/11/41806.html vs2005奇怪的断点无效问题 )
  • 工具->选项->调试->常规,将”要求源文件与原始版本完全匹配”的勾取消就可以了!

其他参考资料:
1、行尾标准化:
http://www.cnblogs.com/liubiqu/archive/2009/01/16/1376891.html
2、编码方式与C4819警告:
http://bbs.csdn.net/topics/390457909
https://social.msdn.microsoft.com/Forums/vstudio/en-US/94153c9d-64ad-4f41-848c-c96b359e4542/unicode-error?forum=vcgeneral

 

参考资料:

https://blog.csdn.net/lsldd/article/details/46049481

https://bbs.csdn.net/topics/390457909

http://www.cppblog.com/qiujian5628/archive/2008/01/24/41806.html

https://blog.csdn.net/liquanhai/article/details/17956045

http://blog.chinaunix.net/uid-15464162-id-3799069.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉逍遥_祥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值