This is the mail archive of the frysk@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Minutes meeting 2007-08-29



Frysk meeting 2007-08-29
==========================

Tim, Andrew, Mark, Teresa, Elena, Phil, Sami. Haven't heard anybody
else speak, please add yourself if you were in attendance.

[Mark to post the whole CLI session]


Tim demo:
---------

test program fibonacci clone test
funit-fib-clone is the name of the testcase/program
fib() is called in a new thread for each iteraction of the fibonacci sequence

Problem:
2 threads stopped at the breakpoint but it produces multiple (5)
breakpoint hit messages.

Breakpoint 0 is hit

[..] type commands 
"[stopped] where"
"[0.2] print arg" show out the value in 0.2 thread

"where" will show [0.1] [0.0] stack (they have same stack) and [0.2] stack.


"viewset" will show all the threads in a table format

"[0.0] halt" will stop the 0.0 thread

"[0.0] go"

"[0.0:1] go" doesnt' work yet

"go" continues everything
got exception unfortunately


there is a focus command

run again

focus [0.2]
where

gives bt only for that thread


Events are coming out of the stepping engine, but in the corefile
target case, the stepping engine is not entered at all. So if you ask
what a thread is doing, in this case you cannot ask the stepping
engine.

dynamic vs static set: whether you are chosing to look at the
currently live threads or ahead of time you decide to focus on certain
threads whether or not they come and go.

session manager needs to be told that there is a new process even if
the process is a dead one coming from a corefile.  Should pick a set
and apply "print" (for instance) to that set, the core command should
be able to tell the session manager what threads it has.  But what ops
are legal to threads? Need to be able to tell what's ok to apply.

HPD model doesn't include dead threads. Corefile threads are not in
stopped state, because it would imply you have control ability over the
thread.  So there are 2 classes of threads. Dead state, you cannot
control it.  Eventually a live thread can enter into the dead state
too.

bp event has to go through the stepping engine, then notify the
interested parties that the thread is now in stopped state.

session manager is central to this problem

if somebody runs a second program? you are supposed to do a "load".
Load: makes visible a dead executable, you can do stuff to a dead
executable, show values, assembly etc. --> Rick working on this

Then you do a Run: replaces the excutable, instead should create
another set.  then you can go back to the original executable.

We have 2 session managers: one for the gnome and one for the hpd.
[Plans to merge them?]

discussion on exceptions:
------------------------
What to do when a command fails?

Create a class of exception that represents that. 
Print across multiple sets, what do you do if it fails

right now we only have runtime exceptions. Can this class be extended.
create a non fatal error exception. Hard to define if an exeption is fatal

catch runtime exceptions and print just the description instead of
printing the backtrace. The average user doesn't want to see the
details.

at the moment, each command handles exceptions separately.

hard to decide what thread to kill and what to keep running

sami: proposes to have different classes of exceptions, less and less generic.


example shown by Phil in the corefile, in peek(), it throws runtime
exception. How to catch it?

Deciding if it's fatal should be left to the client of the low level
code throwing the exception.

more on sets
-------------

there is no way to reuse the slots in the set notation.
There is no way to get rid of a process either

hpd resets the ptid count everytime it restarts a run.  but andrew
doesn't think that's a good idea. Better continue and not restart.


format for print discussion: Andrew
------------------------------------

print 2.5 -format x
print 2.5 -format t --> doesn't work? should it work?
print 2.5 -format o

some bugs in printing regiters
print $eax -format f
regs
how to find out the names of the floating point registers in the fhpd?

formt -x on a fp prints it in hex as a floating point

printing array slices: how to specify the syntax?

[Andrew to post notes on his demo]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]