Getting a guest dump

Updated: October 28, 2024

You can configure your guest and the watchdog vdev in its VM to dump the guest's state in the event of a crash.

This dump will provide you with the guest's state at the time that the watchdog intervened: the guest memory and its CPU registers (i.e., the vCPU registers in the hosting qvm process instance's vCPU threads).

To cause the guest to dump:

  1. In the guest, add a watchdog kicker (e.g., wdtkick) and configure it to kick the virtual watchdog in the VM at the appropriate intervals (see wdtkick in the QNX Neutrino Utilities Reference).
  2. Add the appropriate watchdog vdev shared object to your hypervisor host's buildfile, and add the watchdog vdev to the hosting VM's configuration. QNX hypervisors include two watchdog vdevs: vdev wdt-sp805 (ARM) and vdev wdt-ib700 (x86).
  3. Configure the watchdog vdev to dump if the guest fails to kick it within the specified time interval (see Watchdogs in the QNX Hypervisor for Safety: Protection Features chapter).
  4. In the configuration for the hosting VM, specify the dump option so that it writes the hosted guest's dump to a file (see dump in the VM Configuration Reference chapter).

Alternatively, you can send a SIGUSR2 signal to the qvm process instance to cause the guest to dump. As with the watchdog method, to have the hosted guest's dump written to a file, you need the dump option specified appropriately in the hosting VM.

  翻译: