c++ - 如果指针指向无效内存,Visual Studio 会触发一个断点

标签 c++ visual-c++

我正在使用 visual studio IDE,如果同一行的指针指向无效内存(已删除的内存),我需要在特定位置中断我的程序。有办法吗?

最佳答案

如果你控制指向的类型,是的。

添加一个字段 int already_destroyed 并在构造函数中将其设置为 0,在析构函数中将其设置为非零值。即使调试 CRT 覆盖它,它仍然是非零的。在 Visual Studio 中,使用条件断点 already_destroyed != 0

理论上不可移植,但我怀疑这个想法可以在更多环境中使用。

关于c++ - 如果指针指向无效内存,Visual Studio 会触发一个断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30660843/

相关文章:

visual-c++ - 使用自定义 ICU 构建和使用 Boost for Windows Visual Studio

c++ - 在 Visual Studio 和 GCC 中使用 STL 排序排序

c++ - 使用宏 _BIND_TO_CURRENT_VCLIBS_VERSION 是否有任何副作用?

c++ - Boost Spirit 罗马数字解析器示例

c++ - 存在哪些具有良好 unicode 支持和良好接口(interface)的 C++ 字符串类/系统?

c++ - 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出?

c++ - 打开CV "vector iterators incompatible"

c++ - 关于正则表达式的一些事情

c++ - 在 sfml 中不工作线程

c++ - 计算三角函数精度下降,误差百分比上升