ensuring full cell arithmetics
[rrq/rrqforth.git] / debug.sh
1 #!/bin/bash
2
3 PFX='0x[0-9a-f]* rrqforth.asm:[0-9]*[ ]*'
4
5 grep "${PFX}do" rrqforth.map | sed 's/ .*//;s/^/break */' > gdbinit
6
7 NBR=$(wc -l < gdbinit)
8
9 DS="$(grep "${PFX}DS_TOP:" rrqforth.map | sed 's/ .*//')"
10
11 cat <<EOF >> gdbinit
12 display *(void**)\$rsp@(((void*)$DS-\$rsp)/8)+1
13 display (char*)(*(void**)(\$rax-16)+32)
14 display (void*)\$rax
15 display (void*)\$rsi
16
17 define si
18     stepi
19     x/3i \$pc
20     python gdb.execute("shell ./grepline.sh " + str(gdb.parse_and_eval("\$pc")))
21 EOF
22
23 exec gdb -x gdbinit rrqforth