在分配的内存外写入时中断 使用C++,我有一个意外改变的变量,这可能是因为我在分配内存之外编写的。我所看到的解决方案是跟随变量,找到一个罕见的不应该改变的地方,但这是一个非常缓慢的解决方案。 有没有办法将Visual studio调试模式配置为在指定内存外写入时中断?

在分配的内存外写入时中断 使用C++,我有一个意外改变的变量,这可能是因为我在分配内存之外编写的。我所看到的解决方案是跟随变量,找到一个罕见的不应该改变的地方,但这是一个非常缓慢的解决方案。 有没有办法将Visual studio调试模式配置为在指定内存外写入时中断?,c++,visual-studio-2013,C++,Visual Studio 2013,您可以使用数据断点来捕捉变量更改的时刻。可以使用Visual Studio中的“调试\新建断点\新建数据断点”菜单设置数据断点 编辑:要检测内存范围冲突,您可以使用一些分析工具,例如边界检查器,但这是您必须购买的独立产品。此外,还可以编写自己的内存管理器来检测内存范围冲突。有关详细信息,请参阅和。在Windows分配的内存外写入时,通常会遇到访问冲突0xC0000005。但是意外覆盖的变量肯定在分配的内存中。是否可以为此变量实现setter/getter?您应该问的问题是,是否有方法将Visua

您可以使用数据断点来捕捉变量更改的时刻。可以使用Visual Studio中的“调试\新建断点\新建数据断点”菜单设置数据断点


编辑:要检测内存范围冲突,您可以使用一些分析工具,例如边界检查器,但这是您必须购买的独立产品。此外,还可以编写自己的内存管理器来检测内存范围冲突。有关详细信息,请参阅和。

在Windows分配的内存外写入时,通常会遇到访问冲突0xC0000005。但是意外覆盖的变量肯定在分配的内存中。

是否可以为此变量实现setter/getter?您应该问的问题是,是否有方法将Visual studio调试模式配置为在给定变量更改时中断。-因为这是你真正的问题。在分配的内存之外写只是对问题的根源的猜测。幸运的是,Ari提供了正确的答案。正如我所说,这是一个我已经知道的解决方案,而且是一个缓慢的解决方案,这就是我提出这个问题的原因。也许如果您在原始问题中提供了这些信息,您可以为我们节省一些时间。我已经用附加信息更新了我的答案。+1用于回答他本应提出的问题,并提供问题的解决方案,而不是回答他实际提出的问题:-不是我想要的,请再次阅读我的问题,我已经知道这个解决方案