X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=debug.sh;h=5d630ee02aa8a8773545a93819744559e6f4a1af;hb=ef492db3b89ae7e0fe6317d3a1d0e727c28bf8ca;hp=a665e0249c6b5692df2eae70ded05b5d2dc1b243;hpb=ad3cc266a22476c9a7022a8c8377dc770810a61a;p=rrq%2Frrqforth.git diff --git a/debug.sh b/debug.sh index a665e02..5d630ee 100755 --- a/debug.sh +++ b/debug.sh @@ -10,20 +10,23 @@ NBR=$(wc -l < gdbinit) I=1 while [ $I -lt $NBR ] ; do echo disable $I ; I=$((I+1)) ; done >> gdbinit -RET=$(grep -w ret rrqforth.map | sed 's/ .*//') -echo "break *$RET" >> gdbinit +RET=( $(grep -w ret rrqforth.map | sed 's/ .*//') ) +echo "break *${RET[0]}" >> gdbinit # ;; rax = cfa of called word # ;; rsi = cell* of next forth word # ;; [$rsp] = from where the call was - cat <> gdbinit commands $((NBR+1)) print (void*) \$rsp -print (((char*)(*(((void**)\$rax)-2)))+32) print (void*) \$rsi +print (char*)((*((void**)(*((void**)\$rsi)-16)))+32) end EOF +echo disable $NBR >> gdbinit +echo disable $((NBR+1)) >> gdbinit + + DS="$(grep "${PFX}DS_TOP:" rrqforth.map | sed 's/ .*//')" RS="$(grep "${PFX}RS_TOP:" rrqforth.map | sed 's/ .*//')" cat <> gdbinit