1 # connect gdb to Valgrind gdbserver: 2 target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcclean_after_fork 3 echo vgdb launched process attached\n 4 monitor v.set vgdb-error 999999 5 # 6 # put a break in main, and then a watch 7 # also put breaks in code that only the child will execute. 8 # These breaks should not be encountered. 9 break clean_after_fork.c:9 10 break clean_after_fork.c:20 11 break clean_after_fork.c:22 12 # 13 continue 14 # first break encountered. 15 # put a read watchpoint on mem 16 # we expect that the read watchpoint is not triggered in the child 17 # (as we expect it will be cleared at fork). 18 rwatch mem 19 # 20 continue 21 # 22 # we should now have encountered the read watchpoint in the parent. 23 # let's kill the parent: 24 monitor v.kill 25 quit 26