Steve Fink wrote:

First -- wow, thanks! I tried out the stabs stuff for the JIT
yesterday, and it's really helpful to be able to step through PASM
code from within emacs's gud mode.


Thank your for liking it :)



I had one problem, though -- whenever stepping over a keyed op (eg
"set I0, P0[3]"), gdb fails to recognize that it reaches any more
lines and instead runs the whole thing to completion and exits.


I could never figure out, when gdb just continues.

... But I remember
noticing that gdb prints out the current PASM line number after that
second 'si' on the keyed op.


Looks then like a gdb error to me.


In my local copy (currently locked away on my home hard drive, so I
can't post it from here at work), I also added stabs entries for all
the PMC registers (in addition to the current S, I, and N registers.)
You can see the PMC's data fields and type. It looks something like:

  (gdb) p P0
    (PMC*) 0xdeadbeef
  (gdb) p *P0
    { vtable = 0xdeadbeef, pobj = { u = { int_val = 17, pmc_val = 0x17 }, flags = 
381741 } }
  (gdb) p *P0->vtable
    { base_type = PerlArray }

(I added an enumeration for the PMC types).


Wow, fine, fine.


And I'd just like to say that stabs is a mess. Is DWARF2 any better?


Yep - Ought to be, but I didn't have a look at it.

leo




Reply via email to