c++ - 如何在visual studio 2008中设置数据写入断点

标签 c++

我正在 visual studio 2008 中调试一段代码,在运行程序时抛出一个 bufferover run,我想使用数据写入断点测试变量,有人能告诉我如何在变量上放置数据写入断点吗

最佳答案

如果给个代码片段就更实用了。我不得不自己做:

void foo() {
    int ix = 0x42;
    int jx;
    long long* p = (long long*)&ix;
    *p = 0x100000042LL;
}

这种故意的堆栈损坏尝试会破坏调试器:

enter image description here

所以我在函数入口处设置了一个断点,并在变量“ix”的地址之后设置了一个数据断点,调试+新建断点+新建数据断点:

enter image description here

然后按F5继续运行。数据断点触发:

enter image description here

关于c++ - 如何在visual studio 2008中设置数据写入断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16404836/

相关文章:

c# - C++ 17 中的 std::byte 是否等同于 C# 中的字节?

c++ - c/c++ 中的动态矩阵 - 特殊错误

C++添加PE文件作为资源并从内存中执行

c++ - 原型(prototype)与 decltype 和 auto 不匹配

c++ - 为什么我得到 : "cannot seek vector iterator after end"

c++ - decltype 的另一个问题

c# - 如何以编程方式获取当前音频电平?

c++ - 为什么内联函数中的循环不能正确地自动矢量化?

c++ - 类:面向对象范式一直让我感到困惑

java - 从 Java 调用 C++ 函数