Hello Itsuro,
 I have only briefly scanned your patch, and find it very
 interesting.  I am not at all familiar with the hypervisor
 code, but I do have a couple simple questions at this point:
 1. Is it necessary to create a separate "xencrash"
    binary?  Would it be possible to create a single
    crash binary that can be used for both vmlinux
    and xen-syms sessions?
 
Sorry about this -- I missed the following two parts of
the Makefile and main.c patches!
+
+xencrash: crash
+       cp -f crash xencrash
+       if (STREQ(pc->program_name, "xencrash"))
+               pc->flags |= XEN_HYPER;
However, given the above, I wonder whether it would be possible
to postpone the setting of the XEN_HYPER flag from the
setup_environment() function until later on in main() when
the command line arguments are parsed?  Wouldn't it be possible
to recognize that the xen-syms object file is the hypervisor
binary, and to set the XEN_HYPER flag at that point?
Thanks,
  Dave
 2. Can you make it work with a live hypervisor system
    in the same way the crash works with a live Linux
    kernel?
 Thanks,
   Dave