This is the mail archive of the frysk@sources.redhat.com 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 20070516



Tim, Mark, Phil, Sami, Elena, Andrew, Stan, Nurdin, Rick.


Tim demo of breakpoints in the CLI:

run
stops at _start
then can set breakpoints
break main
break foo
break foo2
actionpoints
disable 2
enable 2

make the print when the program hits a breakpoint a bit more verbose/useful.

Can we start a second program? Not yet from the CLI.

tab completion still not working for setting breakpoints.

"break @file@line" also works

"list main" also works

temporary breakpoints? 

insert breakpoints ahead of time: is there any notification displayed
whent he bp's actually get inserted? (like shlib bps). Should be
enabled/disabled by users.

setting breakpoints on a function with multiple instances in different
objfiles? What should happen? setting multiple breakpoints? Setting
bps on only the one(s) in scope?  

step is not implemented yet.

thread specific breakpoints? Not yet. But the mechanism is in place
already to detect if a thread must ignore a breakpoint or not.  Right
now: Breakpoint is hit->all tasks get notified. BP set globally in
process space. Notify the listener, and it decides if the task is the
one that we are interested in. There seems to have been an interface
change at some point, can this be discussed on list? It's not clear
what has changed. (Mark?) Bind bp to process or to task? 

HPD has thread sets/ actionpoints (signals, etc...)


---------------------

[mark@hermans frysk-obj]$ frysk-core/frysk/bindir/fhpd
(fhpd) run /home/mark/src/frysk/frysk-core/frysk/pkglibdir/test1
Attached to process 601
(fhpd) where
#0 0x4edd78d0 in _start ()
(fhpd) break main
breakpoint 0
(fhpd) break add
breakpoint 1
(fhpd) list
No source for current frame
java.lang.NullPointerException
   at gnu.java.nio.channels.FileChannelImpl.<init>(libgcj.so.7rh)
   at gnu.java.nio.channels.FileChannelImpl.create(libgcj.so.7rh)
   at java.io.FileInputStream.<init>(libgcj.so.7rh)
   at java.io.FileReader.<init>(libgcj.so.7rh)
   at frysk.cli.hpd.CLI$ListHandler.handle(fhpd)
   at frysk.cli.hpd.CLI.execCommand(fhpd)
   at fhpd.main(fhpd)
Internal debugger error:  
(fhpd) go
(fhpd) Breakpoint 0 main
list
24       }
25       
26       inline int add(int i, int j)
27       {
28         result = i + j;
29         return result;
30       }
31       
32       int main (int argc, char **argv)
33       {
34         int i = 0;
35       
36         if (argc > 2)
37           {
38             pid_t target_pid;
39             int signal;
40             
41             errno = 0;
42             target_pid = (pid_t)strtoul(argv[1], (char **)0, 10);
43             if (errno)
(fhpd) break anotherFunction
breakpoint 2
(fhpd) go
(fhpd) Breakpoint 1 add
go
(fhpd) Breakpoint 2 anotherFunction
where
#0 0x08048466 in anotherFunction () from: /home/mark/src/frysk/frysk-core/frysk/pkglibdir/test1.c#18
#1 0x080485a9 in main () from: /home/mark/src/frysk/frysk-core/frysk/pkglibdir/test1.c#63
#2 0x4ee09f2c in __libc_start_main ()
#3 0x080483d1 in _start ()
(fhpd) list
44*             {
45                perror("Invalid pid");
46                exit(1);
47              }
48             signal = (int)strtoul(argv[2], (char **)0, 10);
49             if (errno)
50              {
51                perror("Invalid signal");
52                exit(1);
53              }
54             kill(target_pid, signal);
55           }
56         signal(SIGALRM, &signal_handler);
57         while (running)
58           {
59             if (i >= 0)
60              {
61                i--;
62                add(i, 2 * i);
63                anotherFunction(i, i);
(fhpd) actionpoints
0  y main 
1  y add 
2  y anotherFunction 
(fhpd) disable 2
breakpoint 2 disabled
(fhpd) go
(fhpd) Breakpoint 1 add
go
(fhpd) Breakpoint 1 add
go
(fhpd) Breakpoint 1 add
enable 2
breakpoint 2 enabled
(fhpd) go
(fhpd) Breakpoint 1 add
go
(fhpd) Breakpoint 2 anotherFunction
go
(fhpd) Breakpoint 1 add


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