RE: [EXTERNAL] Re: Confused by watchpoints on remote protocol
"Denio, Mike via Gdb" <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
I verified with a compiled C program, the watch always uses a hardware watch. Not sure what it doesn't like about my assembly, but it obviously has nothing to do with my GDB server, so pressing on ... Thanks for the suggestion. Mike -----Original Message----- From: Denio, Mike <> Sent: Sunday, August 07, 2022 2:34 AM To: 'Andreas Schwab' <[email protected]>; Denio, Mike via Gdb <[email protected]> Subject: RE: [EXTERNAL] Re: Confused by watchpoints on remote protocol ram_table was just a symbol I created in assembly. Its really odd, and its not the symbol itself. For example: (gdb) watch (uint32_t)ram_table Watchpoint 1: (uint32_t)ram_table (gdb) watch *(uint32_t *)&ram_table Hardware watchpoint 2: *(uint32_t *)&ram_table (gdb) i b Num Type Disp Enb Address What 1 watchpoint keep y (uint32_t)ram_table 2 hw watchpoint keep y *(uint32_t *)&ram_table I can see both of these variants "watching" the exact same address. Maybe you are onto something however. I'll try it with a compiled C program and see if the behavior is any different. Thanks, Mike -----Original Message----- From: Andreas Schwab <[email protected]> Sent: Sunday, August 07, 2022 2:24 AM To: Denio, Mike via Gdb <[email protected]> Cc: Denio, Mike <[email protected]> Subject: [EXTERNAL] Re: Confused by watchpoints on remote protocol On Aug 07 2022, Denio, Mike via Gdb wrote: > The only question I have is that when I type: > "watch *(uint32_t *)(0x80000018)" > I get a hardware watch point. > > And when I type: > "watch (uint32_t)ram_table" > I get a software watch point. What is ram_table? > Anyone know why? And how to change it to be always hardware? Try looking at breakpoint.c:can_use_hardware_watchpoint. -- Andreas Schwab, [email protected] GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."