Setting Memory Breakpoints in Eclipse

前端 未结 3 691
醉话见心
醉话见心 2021-01-17 12:50

How do you set memory breakpoints in Eclipse? That is, I would like to set a conditional breakpoint that triggers when the data at a given memory location changes.

相关标签:
3条回答
  • 2021-01-17 13:12

    Solution that works:

     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.
    
    0 讨论(0)
  • 2021-01-17 13:25

    Using a Watchpoint in Eclipse Oxygen:

    1. In the Expressions view (Window > Show View > Expressions), add an Expression such as: *(uint8_t*)0x231cc528. The cast tells Eclipse the memory location size.
    2. Right-click the added expression and select "Add Watchpoint".
    3. The resulting Watchpoint may be edited and controlled in the "Breakpoints" view.
    4. It may be important to edit the Watchpoint. If you want to e.g. detect changes done by other threads: right-click the Watchpoint in the "Breakpoints" view, select Breakpoint Properties... > Filter, UN-check "Restrict to Selected Processes and Threads"
    0 讨论(0)
  • 2021-01-17 13:31

    You need to use a watchpoint. From the page:

    1. Highlight the variable in the editor, or select it in the Outline view.
    2. Click Run > Toggle Watchpoint.
    3. Do any of the following:
      • To stop execution when the watch expression is read, select the Read check box.
      • To stop execution when the watch expression is written to, select the Write check box.
    4. The watchpoint appears in the Breakpoints view list.
    0 讨论(0)
提交回复
热议问题