问题 在Eclipse中设置内存断点


你如何在Eclipse中设置内存断点?也就是说,我想设置一个条件断点,当给定内存位置的数据发生变化时触发该条件断点。

这个问题一直存在 之前问过,但是 只提供了答案 不 地址 问题和基本相同的信息可以在 Eclipse在线帮助

我正在寻找的是在Eclipse中设置条件断点的更详细的信息(或者一个例子会很好),当特定内存地址的数据发生变化时,它将触发。


2141
2017-11-09 15:16


起源



答案:


你需要使用一个 观察点。从页面:

  1. 在编辑器中突出显示变量,或在“轮廓”中选择它 视图。
  2. 点击 运行>切换观察点
  3. 请执行以下任何操作:
    • 要在读取监视表达式时停止执行,请选择  复选框。
    • 要在写入监视表达式时停止执行,请选择  复选框。
  4. 观察点出现在 断点 查看列表。

9
2017-11-09 15:27



谢谢,但我想要做的是打破内存的变化,不一定是变量。 - Jim Fell
这适用于Java或C / C ++还是什么? - Mike Kwan
这将是C. - Jim Fell
您可以使用硬件断点执行此操作。不确定eclipse是否为此提供任何其他设施。 - Mike Kwan
谢谢。这里有更多信息: mcuoneclipse.com/2012/04/29/... - Jim Fell


答案:


你需要使用一个 观察点。从页面:

  1. 在编辑器中突出显示变量,或在“轮廓”中选择它 视图。
  2. 点击 运行>切换观察点
  3. 请执行以下任何操作:
    • 要在读取监视表达式时停止执行,请选择  复选框。
    • 要在写入监视表达式时停止执行,请选择  复选框。
  4. 观察点出现在 断点 查看列表。

9
2017-11-09 15:27



谢谢,但我想要做的是打破内存的变化,不一定是变量。 - Jim Fell
这适用于Java或C / C ++还是什么? - Mike Kwan
这将是C. - Jim Fell
您可以使用硬件断点执行此操作。不确定eclipse是否为此提供任何其他设施。 - Mike Kwan
谢谢。这里有更多信息: mcuoneclipse.com/2012/04/29/... - Jim Fell


有效的解决方案:

 1/ Select the variable representing the pointer you want to break on in a given context in the "Variables" tab
 2/ Right click, then select "Add Watchpoint (C/C++)
 3/ In the field "Expression to watch", just replace the name of the variable by the memory address to break on.

1
2017-10-01 08:16





在Eclipse Oxygen中使用Watchpoint:

  1. 在“表达式”视图(“窗口”>“显示视图”>“表达式”)中,添加一个表达式,例如: *(uint8_t*)0x231cc528。演员告诉Eclipse内存位置大小。
  2. 右键单击添加的表达式,然后选择“添加观察点”。
  3. 可以在“断点”视图中编辑和控制生成的Watchpoint。
  4. 编辑Watchpoint可能很重要。如果你想要,例如检测其他线程所做的更改:右键单击“断点”视图中的Watchpoint,选择Breakpoint Properties ...> Filter,UN-check“Restrict to Selected Processes and Threads”

0
2017-07-09 18:52