Hello all, hopefully this message is not too trivial. I am looking for
some simple direction.
What I am looking to do is to pull the register states out of a QEMU
session external to the session. I figure at very least I could save
the state of the VM to a file and then dig through it but this would be
exceedingly tedious, especially considering I intend to use this for
periodic sampling.
Are there interfaces that do this now and if there are not, can you
point me towards section of the source to best modify?
Basically what I'd like to be able to do is periodically poke into a
running QEMU VM and drag down the registers, in particular, the PC, and
then record that. Over time, with samples, I would have some sort of
distribution of where the PC was during a run.
Now to be clear, this isn't really what I want this for, but if I could
do this, it would basically go a long way towards this research.
So imagine:
1: Stop QEMU (maybe not necessary?)
2: Drag down the set of registers
3: Release QEMU (contingent on #1)
4: Repeat over some periodic sampling rate.
5: Produce a "gprof-like" graph of where the PC was during the time
observed.
I realize that without information from the kernel about the instruction
ranges for each application I will be unable to tie this information
back to which applications were running.
Any tips / help anyone can provide would be very useful.
Thank you.
--
- Nathan
----------------------------------------------------
Nathan DeBardeleben, Ph.D.
Los Alamos National Laboratory
High Perf. Computing Systems Integration (HPC-5)
Ultra-Scale Research Center, Resilience Lead
email: ndeb...@lanl.gov
----------------------------------------------------