断点失效问题列举及解决

 问题一:“当前不会命中断点。源代码与原始版本不同。”

所下断点失效,提示“当前不会命中断点。源代码与原始版本不同。” 按照提示取消了“选项”中关于调试的“要求原文件与源始版本完全匹配”的选项。此时,虽然断点可以命中,但断点所进行的调试并非当前版本,而是以前的版本。

查询MSDN得解如下:

Visual Studio 调试器
断点失败

 

如果项目中的两个或更多的源文件具有同一名称,调试器在确定断点设置在哪个文件时可能会有问题。当创建的模块与链接到的“调试”库的某一组件具有相同名称时,经常会发生这种情况。

若要解决此问题,请输入源文件的完整路径名。您可以在“文件断点”对话框中更改文件路径名。有关更多信息,请参见如何:编辑断点位置

在其他情况下,尽管对应于断点的源文件存在,但是调试器可能无法找到该源文件。如果源文件已更改并且源代码与调试的代码不再匹配,则将出现此情况。如果希望 Visual Studio 显示与调试的版本不匹配的源代码,请清除在“选项”对话框中的“调试”类别下的“常规”节点中的“仅使用与原始版本完全匹配的源代码”选项。还可以通过选中“文件断点”对话框中的“允许源代码与原始版本不同”来绑定断点。

最后发现在项目的属性页中
“调试”一栏中选择了启用外部程序:C:/Program Files/***/Bin/Index.exe
“生成”一栏中原有的应该是C:/Program Files/***/Bin/的路径变成了/debug/
至此问题已经找到,断点之后以失效,是因为当启用外部程序时采用了外部程序所在版本原代码信息,而在此时的调试却是使用了/debug/下原代码信息。
解决:将“生成”一栏中原路径改回为C:/Program Files/***/Bin/即可。

总结:若出现此问题,可检查项目是否有多个版本的输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值