当我在“ Breakpoints”窗口中取消选中数据断点时,在写入内存时仍然会发生异常。但是,如果我将设置中的地址设置为另一个值,则不会发生异常。我该如何解决?
(Intel CORE I7,Windows 10、32位本机c ++)
这是一个错误吗? 我的期望是现实的,我应该能够以这种方式禁用数据断点吗?
答案 0 :(得分:2)
根据我的经验,这是一个错误(如果断点为未选中)。而且很难复制它。只需尝试删除数据断点。您应该以任何方式删除它,因为它很可能在下一次运行中无效(变量的地址因运行而异)。
答案 1 :(得分:0)
无法在Visual Studio 2017(Native C ++)中禁用数据断点
AFAIK,您无需手动禁用数据断点。
根据文档How to: Set a Data Breakpoint (Native Only):
变量地址从一个调试会话更改为下一个调试会话。 因此,数据断点将在 每次调试会话结束。
如果在局部变量上设置数据断点,则该数据断点 功能结束时保持启用状态。但是,内存地址呢 设置为on不再具有相同的含义。因此,结果 这样的断点是无法预测的。 如果您在 局部变量,最佳做法是删除或禁用 函数结束之前的断点。
Visual Studio每个最多支持四个数据断点 解决方案。