# connect gdb to Valgrind gdbserver: target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcbreak echo vgdb launched process attached\n monitor v.set vgdb-error 999999 # define checkstep set $old_pc=$pc step if $old_pc == $pc echo Bizarre the oldpc has not changed after step\n print $oldpc print $pc else echo old_pc has changed after step\n end end # # break1 and break2 break t.c:113 break t.c:118 # continue # first break encountered. checkstep checkstep checkstep # monitor v.set vgdb-error 0 # next print whoami("first") print undefined print i checkstep checkstep next print whoami("second") print undefined print i next print whoami("third") print undefined print i next print whoami("fourth") print undefined print i # modify sleeps so as to have a shorter test: print sleeps=1 # print whoami("after next: inferior call pushed from mcbreak.stdinB.gdb") continue # # encountered second break. Ensure we stop on line 120 : if (argc > 1) break 120 continue # delete all breaks delete continue monitor v.info n_errs_found monitor v.info n_errs_found a monitor v.info n_errs_found b monitor v.info n_errs_found c d monitor v.info n_errs_found eeeeeee fffffff ggggggg # inferior call "in the middle" of an instruction is not working at least # on all platforms, so comment the below. # print whoami("after error: inferior call pushed from mcbreak.stdinB.gdb") checkstep monitor v.set vgdb-error 0 continue # stop the process a.o. to avoid non deterministic output monitor v.kill quit