[comp.arch] How do you collect instruction traces?

abali@parts.eng.ohio-state.edu (Bulent Abali) (08/25/89)

In article <8230@spool.cs.wisc.edu> markhill@reggiano.cs.wisc.edu (Mark D. Hill) writes:
>	This simulator is useless without good traces.  Unfortunately,
>it is not practical for me to distribute traces.
>
>					Prof. Mark D. Hill

Since the subject came up I would like to ask to people who are 
experienced in collecting instruction traces. How do you do it on
Unix machines?  I know that there is the ptrace() system call.
There is another scheme in the book "The Design of the Unix OS" by
Bach where a file system called /proc is mounted and processes are 
opened like a file. In any case, writing a tracer program didn't look 
easy to me.  Could anyone give few hints about these schemes, or 
describe other ways of  doing it using only software? 

On an IBM VM machine, I could easily collect traces by turning on the PER
(program event recording) of the virtual machine and spooling the PER
output to a queue to be read later. I could collect up to 600K instructions
at a time on a 3090. 

-=-
Bulent Abali                               : abali@baloo.eng.ohio-state.edu
Ohio State Univ., Dept. of Electrical Eng. : Phone: (614)292-2452
2015 Neil Ave. Columbus, Ohio 43210        :