Hi Daniel, This is what i get while trying to use a hardware watchpoint to monitor an int variable "i" that changes during a for statement (attached). Upon further investigation, it seems GDB is only calling "breakpoint_delete_event". I don't see GDB calling "breakpoint_create_event" anywhere except in the momment i created the watchpoint up there, so i presume that's the reason it's not triggering. This is the event log: (gdb) set debug event 1 (gdb) start breakpoint_create_event (CREATED!) Breakpoint 1 at 0x10000738: file testsuite/gdb.base/watch-thread_num.c, line 39. Starting program: /home/luis/src/gdb/gdb-head/git/gdb/test [Thread debugging using libthread_db enabled] [New Thread 0x400000257c0 (LWP 3287)] [Switching to Thread 0x400000257c0 (LWP 3287)] breakpoint_delete_event (DELETED!) main () at testsuite/gdb.base/watch-thread_num.c:39 39 for (i = 0; i < NUM; i++) (gdb) watch i During symbol reading, incomplete CFI data; unspecified registers (e.g., r0) at 0x10000738. breakpoint_create_event (CREATED!) Hardware watchpoint 2: i (gdb) n 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40000a26240 (LWP 3290)] breakpoint_delete_event (DELETED! After this point, no more creations.) 39 for (i = 0; i < NUM; i++) (gdb) 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40001226240 (LWP 3291)] breakpoint_delete_event 39 for (i = 0; i < NUM; i++) (gdb) 41 res = pthread_create(&threads[i], (gdb) [New Thread 0x40001a26240 (LWP 3292)] breakpoint_delete_event 39 for (i = 0; i < NUM; i++) (gdb) Notice that after i create the watchpoint, gdb doesn't bring them back during execution, only deletes them. Regards -- Luis Machado IBM Linux Technology Center e-mail: luisgpm@linux.vnet.ibm.com