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]

fhpd load/start/run


Hi all,

Recently I have been working on the load/start/run command sequence and I thought I would bring everyone up-to-date on where I am. I thought I would give everyone a quick overview of the commands and what they do as the functionality of the start/run commands changes based on what context they are executed in.

load - takes a path to an executable as a parameter and allows the user to examine data from an executable without running it

start - takes a path to an executable as a parameter and runs it to the first executable instruction; if a start command is executed with no parameters after a load command, it uses the path to the executable used in that command to do the same thing; if another start command is issued subsequently without parameters, the process is killed and a new version is loaded and rerun to the first executable instruction

Here is a load/start/start command sequence example:
(fhpd) load ../pkglibdir/funit-threads-looper
Loaded executable file: ../pkglibdir/funit-threads-looper
(fhpd) start
Attached to process 28451
(fhpd) start
Killing process 28451
Loaded executable file: /home/rmoseley/frysk-git1/build/frysk-core/frysk/pkglibdir/funit-threads-looper
Attached to process 28456
(fhpd) where
[0.0]
#0 0x00000035ff600ac0 in _start () from /lib64/ld-2.7.so



run - is pretty much exactly the same as the "start" command except the process is run to the first breakpoint(if there is one) instead of the first executable instruction; if a run command is issued with no parameters, then it uses the path to the executable from a previous start or load command; as with the start command, subsequent run commands will kill the currently running process and reruns the process to the first breakpoint(again, if there is one)


Here is an example of a load/run/run sequence:

(fhpd) load ../pkglibdir/funit-threads-looper
Loaded executable file: ../pkglibdir/funit-threads-looper
(fhpd) run
Attached to process 28727
Running process 28727
(fhpd) run
Killing process 28727
Loaded executable file: /home/rmoseley/frysk-git1/build/frysk-core/frysk/pkglibdir/funit-threads-looper
Attached to process 28741
Running process 28741


Please note that changes have also been made to the HpdTestbed class to implement a "start" method(HpdTestbed.start). I have made the changes to the existing tests that were using HpdTestbed.run to now use HpdTestbed.start.

Now, the next thing to get working is the passing of commandline arguments thru the above sequences.

As always, comments/suggestions/ideas are always welcome. :-)

Rick


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