无法在Visual Studio 2017(Native C ++)中禁用数据断点

时间:2018-07-19 10:55:47

标签: c++ visual-studio debugging visual-studio-2017 breakpoints

当我在“ Breakpoints”窗​​口中取消选中数据断点时,在写入内存时仍然会发生异常。但是,如果我将设置中的地址设置为另一个值,则不会发生异常。我该如何解决?

(Intel CORE I7,Windows 10、32位本机c ++)

这是一个错误吗? 我的期望是现实的,我应该能够以这种方式禁用数据断点吗?

2 个答案:

答案 0 :(得分:2)

根据我的经验,这是一个错误(如果断点为未选中)。而且很难复制它。只需尝试删除数据断点。您应该以任何方式删除它,因为它很可能在下一次运行中无效(变量的地址因运行而异)。

答案 1 :(得分:0)

  

无法在Visual Studio 2017(Native C ++)中禁用数据断点

AFAIK,您无需手动禁用数据断点。

根据文档How to: Set a Data Breakpoint (Native Only)

  

变量地址从一个调试会话更改为下一个调试会话。   因此,数据断点将在   每次调试会话结束

     

如果在局部变量上设置数据断点,则该数据断点   功能结束时保持启用状态。但是,内存地址呢   设置为on不再具有相同的含义。因此,结果   这样的断点是无法预测的。 如果您在   局部变量,最佳做法是删除或禁用   函数结束之前的断点

     

Visual Studio每个最多支持四个数据断点   解决方案。