RR API Discussion (librr)

Robert O'Callahan robert at ocallahan.org
Mon Oct 13 17:51:30 PDT 2014


On Tue, Oct 14, 2014 at 1:33 PM, Benoit Girard <bgirard at mozilla.com> wrote:

> First we should discuss how to provide the API. I suggested librr
> bindings but there might be a better way to provide bindings.
>

I don't think we'd ever want to provide a truly stable API, so it would
suffice to provide a C++ library.

>
> More importantly what API should rr provide?
>

I think it should be Session-oriented:
-- RecordSession class
* Create a RecordSession from an initial argv/envp/options plus trace
directory
* Inspect task tree (since they're real tasks they can be signalled etc
using standard APIs)
* Run recording forwards
* Monitor stdin/stdout
* End recording and cap off the trace
* [Future feature] Clone the current state of a RecordSession to a
ReplaySession
-- ReplaySession class
* Create a ReplaySession from a trace directory
* Inspect task tree, including task memory/registers
* Breakpoint API (code and data)
* Monitor stdin/stdout
* General system-call monitoring
* Run replay forwards
* Single-step replay forwards
* Clone the current state of a ReplaySession to another ReplaySession
* Clone the current state of a ReplaySession to a DiversionSession
-- DiversionSession class
* Inspect task tree
* Modify task memory/register state
* Breakpoint API
* Monitor stdin/stdout
* Run diversion forwards

Lots of additional functionality could be added...

Rob
-- 
oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo
owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo
osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo
owohooo
osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o
oioso
oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo
owohooo
osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro
ooofo
otohoeo ofoioroeo ooofo ohoeololo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rr-dev/attachments/20141014/53def164/attachment-0001.html>


More information about the rr-dev mailing list