zoukankan      html  css  js  c++  java
  • VS 断点不会命中的情况

    总结下遇到的几次断点无法命中的情况:

    1.手误设置为release模式

    如果是release模式的情况下,断点跳转命中情况是无法预知的,所以请修改成debug

    2.与源文件不一致

    这个情况是最常见的,很多网上的教程都叫大家在设置中 把“要求源文件和原始版本完全匹配”选项禁用,

    这是没错的,甚至连VS都提示我们,可以去掉这个选项来保证断点命中进行调试,但是这样治标不治本,不是我们想要的

    引起这个的真正原因其实是:

    断点所在的代码 是属于一个被编译成dll (lib、exe) 之类的库工程,然后主程序引用了这个dll.

    但是在F5运行时,只编译了主程序和相关依赖的选项,并没有重新编译dll这个工程,

    然而我们又修改了这个dll工程中的某些代码,并下了断点想调试,那么此时VS就会提示断点无法命中。

    因为主程序依赖的dll还是旧的dll ,并没有重新生成,但是dll中的代码文件又被修改了,所以断点才无法命中,如果能命中那才奇了怪了

    解决方法:

    1.就是在启动项目处右键,Build Dependencies ->Project Dependencies ,选择要一起编译的项目。重新F5就可以了。
    2.或者手动选择断点所属工程,右键,build/rebuild 即可

    3.确实不会进断点
    上面第二种情况至少文件是一份,只不过被修改了不一致

    而这种情况往往是文件根本就是两个文件
    编译器会优化代码,有时一些判断或者分支会导致这一块代码确实不会命中,简单来说,你断点下错地方了

  • 相关阅读:
    [转]VirtualBox错误 Unable to load R3 module 解决方案
    2014工作感想
    人生的真正价值
    react生成二维码
    判断对象中是否包含某个属性
    使用reduce进行数组对象去重
    filter筛选
    判断区分安卓ios
    scrollIntoView 与 scrollIntoViewIfNeeded API 介绍
    vue中使用@scroll实现分页处理(分页要做节流处理)
  • 原文地址:https://www.cnblogs.com/kevinWu7/p/10163441.html
Copyright © 2011-2022 走看看