Looking for Help with HBDB

Kevin Polulak kpolulak at gmail.com
Sat Jul 30 03:52:35 UTC 2011


I realize that most of us Parrot developers are just about always knee deep
in 1's and 0's but if you think you can spend some time to help a struggling
GSoC student work on his debugger, I would really appreciate it. The
adventures of HBDB has reached a bit of a stalemate. The clock is ticking
and I'm really starting to feel the pressure since my debugger still doesn't
really do anything useful.

If you haven't already, please read my latest blog
post<http://parrot.org/content/hbdb-closed-construction-please-use-detour>.
It describes most of the problems I'm facing. My biggest problem right now
is basic execution commands like 'run' and 'step'. They work by manipulating
a few status bits in a global bitmask and then the runcore checks the
bitmask to decide how and if execution should resume. The 'run' command
works just fine but the 'step' command has just been completely out of
control. I tried creating a special HBDB_STEP flag which works but
apparently there are several instructions that are executed before the first
line in the :main function so you must 'step' 4-5 times before an actual
opcode is reached. I've also considered taking the traditional route by
simply placing a temporary breakpoint at the next instruction but if you've
been reading any of my blog posts, you'll know that breakpoints have been a
complete nightmare. Besides that, getting the next pc value is not that easy
because it is not sequential; if pc is 41, pc++ is not guaranteed to be 42.

Should any of you decide to help I suggest you look in the following places
on the soh-cah-toa/hbdb branch:

   - src/hbdb.c : hbdb_cmd_step() : +724
   - src/runcore/cores.c : runops_hbdb_core() : +799
   - src/hbdb.c : hbdb_check_breakpoint() : +770
   - src/hbdb.c : hbdb_runloop() : +1105

I'm also struggling with the 'quit' command. Ever since the merge into
master, it segfaults and crashes. If you want to take a crack at it, look
at:

   - src/hbdb.c : hbdb_cmd_quit() : +676
   - src/hbdb.c : hbdb_start() : +1139
   - src/hbdb.c : hbdb_runloop() : +1105

I've been on my own here for a while so I would be very grateful if some of
you would be willing to give a helping hand.

-- 
- Kevin Polulak (soh_cah_toa)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20110729/cc138b38/attachment-0001.html>


More information about the parrot-dev mailing list