explicit checkpointing

Robert O'Callahan robert at ocallahan.org
Mon May 5 21:19:24 PDT 2014


One other thing I was thinking of doing in free time was adding support for
explicit checkpointing from the gdb command line. It seems to me this would
be extremely easy to do on top of deepforking, now that's implemented. We
just need a way to communicate commands to rr. I was thinking of this
approach:
-- A write to a magic unmapped memory location (e.g. ('r' << 8) | 'r')
sends a 32-bit command word to rr.
-- Command "create checkpoint N" deepforks the current state and assigns
the forked checkpoint ID N, deleting any previous checkpoint with that ID
-- Command "delete checkpoint N" deletes the checkpoint with that ID
-- add gdbinit sugar
-- Add new "run" parameter syntax to select a particular checkpoint to
resume. When resuming, deepfork again and run the fork so the checkpoint is
preserved. Ensure that subsequent parameter-less "run" command resume from
that checkpoint by default, since I expect repeated resumes from the same
checkpoint will be common.
Am I missing anything? It sounds very easy.

Rob
-- 
Jtehsauts  tshaei dS,o n" Wohfy  Mdaon  yhoaus  eanuttehrotraiitny  eovni
le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o  Whhei csha iids  teoa
stiheer :p atroa lsyazye,d  'mYaonu,r  "sGients  uapr,e  tfaokreg iyvoeunr,
'm aotr  atnod  sgaoy ,h o'mGee.t"  uTph eann dt hwea lmka'n?  gBoutt  uIp
waanndt  wyeonut  thoo mken.o w
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rr-dev/attachments/20140506/bc5f8b68/attachment.html>


More information about the rr-dev mailing list