gpt4 book ai didi

visual-studio-2010 - Visual Studio : set a data breakpoint at a memory ACCESS (i. e.读取数据时)

转载 作者:行者123 更新时间:2023-12-04 16:11:02 25 4
gpt4 key购买 nike

我真的需要弄清楚我的 Fortran 项目何时读取向量的元素。我每天都使用数据断点,但是当我的代码访问(即读取)内存地址时,我找不到设置数据断点的方法,而我总是在修改地址时将其设置为中断。有没有办法在 Visual Studio 2010 上做到这一点? (我使用 intel visual fortran compose XE 2011 作为编译器)。或者也许更新到更新的视觉工作室?
就像注释一样,我在这里看到 gdb 是这样做的 Can I set a breakpoint on 'memory access' in GDB?
谢谢
一种。

Ps:我给 GDB 的人发了电子邮件,他们说不可能用它来做。请参阅下面的回答:

你好,
目前,创建的观察点的类型被硬编码为“写入”。这是因为
Visual Studio 不支持其他类型的观察点(在 GUI 和基础结构中)。
也许可以在 GDB 控制台中启用读取观察点,
然而它也需要一个黑客,因为控制台实际上是“通过”工作的
Visual Studio(它不直接将命令传递给 GDB)。
我也不确定这个功能是否真的适用于 GDB。 GDB有很多
目标范围非常有限的命令,例如他们只工作
用于单线程程序,或仅用于 Linux 而不是在使用时
gdbserver 等。一个读观察点看起来像一个非常
平台依赖。请检查您的平台是否支持读取观察点的 GDB。
如果此功能对您来说至关重要,也请告诉我们。

此致

最佳答案

您可以使用 Mike Morearty 的 Hardware Breakpoints .

我没有在 Visual Studio 2010 上测试过它们,但我已经成功地在 VS 2008、2015 和 2017 中使用了它。

int x = 0;
HardwareBreakpoint hb;
hb.Set(&x, sizeof(x), HardwareBreakpoint::Read);
// Some random code.
int y = x; // The breakpoint pauses the execution on this line.

请注意 HardwareBreakpoint当您希望该断点处于事件状态时,对象必须在范围内。当它超出范围时,断点将停止运行。

关于visual-studio-2010 - Visual Studio : set a data breakpoint at a memory ACCESS (i. e.读取数据时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16548687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com