Some Thoughts.




After our lengthly IRC session this morning, and Elliot's comments, I spent a
long time thinking about the Program and Process interfaces.  What we
came up with just doesn't work in some cases.  I'm just going to spew out 
what I think are the limitations of the design, and we'll see what we come 
up with.

I have some thoughts about how we might want to deal with these.  However,
I've been loud and argumentative enough for today, and I'd rather hear
your solutions than have you hear mine.  It's mostly my fault that 
we're in this mess anyway.

Anyway, here are some problems I see:

We decided that multiple Process objects for a single Program object was
the right way to go.  We decided that breakpoints should go in the 
Program object, for a couple of reasons:
  * Breakpoints can be set on a binary without an active process.
  * When a breakpoint is set on a process, you wouldn't want that breakpoint
    to be erased when the process ends.

This works when debugging with one process at a time.  However, it 
breaks down when debugging multiple simultaneous processes.  You don't 
want to have to use the same breakpoints in each process.  And if you 
sit and think through how this would be done with GDB, you start to 
realize that multiple Processes per Program will be very difficult to 
pull off.  Especially with current debugger tools.

So there are the problems I see with the IDL as we have it.  Any
suggestions welcome.

With Foot Firmly in Mouth,
-dave




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]