if i include this bit (minus the -----'s) in my script to gdb: ----- watch -l dbase[8].roguenam commands silent printf "08 %-32s 08 '%s'\n", dbase[8].roguenam, dbase[8].fakename bt cont end -----
in my script to gdb the program will stop at some point and never go further, if i change the watch to look at dbase[8].roguenam for the change (not using the -l) it does not make any difference the program still stops and never restarts. turning on or turning off hardware watchpoints makes no difference. otherwise my script runs just fine (i'll include the whole thing below for reference): i've tried this using versions: (on Debian testing/sid/experimental) (currently: gdb (Debian 7.8-1) 7.8 This GDB was configured as "i586-linux-gnu".) and before: 7.7.1+dfsg-3 any hints/help appreciated. :) ----- set confirm off set pagination off set logging file gdbrogomatic.txt set logging overwrite on set logging on set breakpoint pending on set listsize 10 set can-use-hw-watchpoints 0 define my_prt_dbase set $ic = 0 printf "\n" while ($ic < datalen) printf "%02d %-32s %02d '%s'\n", $ic, dbase[$ic].roguenam, $ic, dbase[$ic].fakename set $ic = $ic + 1 end printf "\n" end break mess.c:162 commands silent printf "parsemsg: %s\n", mess cont end break mess.c:880 commands silent printf "infer: %s\n", objname bt cont end break io.c:895 commands silent printf "say: %s\n", buf cont end break command.c:87 if ((cmd[0] == 'c') || (cmd[0] == 'q') || (cmd[0] == 'r') || (cmd[0] == 'z')) commands printf "cmd: %s\n", cmd bt cont end break database.c:81 commands printf "useobj: oldname %s\n", oldname bt cont end break database.c:109 commands printf "infername: i %02d oldname %s name %s\n", i, oldname, name if streq (oldname, "enchant armor") printf "oldname ENCHANT\n" end if streq (name, "enchant armor") printf "NAME ENCHANT\n" end bt cont end break database.c:122 commands printf "used: oldname %s\n", oldname bt cont end break database.c:138 commands printf "know: name %s\n", name bt cont end break database.c:154 commands printf "realname: oldname %s realname %s\n", oldname, dbase[i].roguenam bt cont end watch datalen commands silent printf " datalen is %d\n", datalen my_prt_dbase bt cont end watch -l dbase[8].roguenam commands silent printf "08 %-32s 08 '%s'\n", dbase[8].roguenam, dbase[8].fakename bt cont end watch justreadid commands silent printf " justreadid is %d\n", justreadid bt cont end watch identifying commands silent printf " identifying is %d\n", identifying bt cont end cont ----- ant