gdb deletes watchpoint for local variables in scope
Varun Kumar Erigila
varun.erigila@blackfigtech.com
Thu Jan 5 12:46:04 GMT 2023
Hello everyone,
Gdb complains saying "Watchpoint <number> deleted because the program has left the block in which its expression is valid", even though the local variable is still in scope for RISC-V architecture.
Test Code: Compiler Explorer (godbolt.org)<https://godbolt.org/z/dhb5K5KK4>
Code compiled with clang(trunk):
* clang -g -static -c program.c
* riscv64-unknown-elf-gcc program.o -o program -march=rv64imac -mabi=lp64
Gdb(12.1):
* riscv64-unknown-elf-gdb program
* break main
* set can-use-hw-watchpoints 0
* watch q
* continue
* Watchpoint 2 deleted because the program has left the block in
* which its expression is valid.
* 0x00000000000101e0 in func () at watch_cond.c:2
Even though the variable q is still in scope in main, gdb prints this message immediately after func() returns.
I'm trying to debug gdb on update_watchpoint function where this message is originating from.
Any suggestions on why gdb is behaving so.
regards
Varun
More information about the Gdb
mailing list