Stabs gdb support now can show parrot registers.

e.g. complicated program:

set I0, 10
set N1, 1.1
set S2, "abc"

(gdb) p I0
$2 = 10
(gdb) p N1
$3 = 1.1000000000000001
(gdb) p *S2
$4 = {bufstart = 0x815ad30, buflen = 15, flags = 336128, bufused = 3, strstart = 0x815ad30 "abc"}
(gdb) p S2
$5 = (struct Parrot_String *) 0x81628a8
(gdb)

The view of strings is actually simplified in the stabs file, e.g. showing strstart as string (which is handy) and omitting some members.

You can set parrot registers too in gdb.
When running inside JIT, the N and I-Registers might still be in processor registers and therefore show old values inside gdb.


What fields would be useful for PMCs?

Have fun,

leo

PS attached dddp (usage: "dddp j" for running j.pbc and starting ddd with symbols)

# run ddd parrot with given file
# gdb confirmations should be off
echo "b runops_jit
r -d -j --gc-debug $1.pbc
n
n
n
n
add-symbol-file $1.o 0
s
" > .ddd

ddd --command .ddd parrot &

Reply via email to