VS Release 模式下无法断点debug解决方案

1.工程项目上右键 -> 属性

2.c++ -> 常规 -〉调试信息格式    选  程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)

3.c++ -> 优化 -〉优化            选  禁止(/Od)

4.连接器 -〉调试 -〉生成调试信息 选  是 (/DEBUG)

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言的Release模式中,断点错位的问题可能会出现在以下几种情况下: 1. 错误代码报错行数错位:在Release模式下,由于代码被优化或其他原因,编译后的代码与源代码的对应关系可能会发生变化,导致断点的行数与实际代码的行数不匹配。 2. debug动态跟踪错位:在Release模式下,调试器的动态跟踪功能可能会因为代码优化而导致断点的位置不准确,从而出现断点错位的情况。 要解决这种问题,可以尝试以下方法: 1. 挨个设断点,找到首次出现断点错位的地址。这可能需要通过逐步调试的方式来确定具体的断点位置。 2. 检查代码中是否存在注释或非法字符等问题,这些因素可能会影响到代码的行数和断点的位置。可以尝试删除全部的注释、检查非法字符等操作,并重新进行调试。 3. 如果删除注释和非法字符仍无法解决问题,可以尝试将出问题的代码进行逐步注释,以确定具体是哪段代码导致了断点错位。 4. 在使用UE(IDE)或其他工具时,可以使用十六进制的方式查看代码中是否存在换行符的问题。一般情况下,代码和代码之间的换行应该是由0x0d 0x0a两个字符组成,而可能导致断点错位的情况可能是由于某几行代码只有0x0d没有0x0a。 5. 如果发现代码中存在换行符的问题,可以尝试去掉0x0d字符,并在IDE中添合适的换行符,然后重新进行调试。 通过上述方法,您应该能够解决在C语言Release模式断点错位的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值