Configuring the <ph conkeyref="vbox-conkeyref-phrases/product-name"/> CoreDumper on Oracle Solaris Hosts

is capable of producing its own core files for extensive debugging when things go wrong. Currently this is only available on Oracle Solaris hosts.

The CoreDumper can be enabled using the following command:

$ VBoxManage setextradata VM-name VBoxInternal2/CoreDumpEnabled 1

You can specify which directory to use for core dumps with this command, as follows:

$ VBoxManage setextradata VM-name VBoxInternal2/CoreDumpDir path-to-directory
               

Ensure the directory you specify is on a volume with sufficient free space and that the process has sufficient permissions to write files to this directory. If you skip this command and do not specify any core dump directory, the current directory of the executable will be used. This would most likely fail when writing cores as they are protected with root permissions. It is recommended you explicitly set a core dump directory.

You must specify when the CoreDumper should be triggered. This is done using the following commands:

$ VBoxManage setextradata VM-name VBoxInternal2/CoreDumpReplaceSystemDump 1
$ VBoxManage setextradata VM-name VBoxInternal2/CoreDumpLive 1

At least one of the above two commands will have to be provided if you have enabled the CoreDumper.

Setting CoreDumpReplaceSystemDump sets up the VM to override the host's core dumping mechanism and in the event of any crash only the CoreDumper would produce the core file.

Setting CoreDumpLive sets up the VM to produce cores whenever the VM process receives a SIGUSR2 signal. After producing the core file, the VM will not be terminated and will continue to run. You can thus take cores of the VM process using the following command:

$ kill -s SIGUSR2 VM-process-id
               

The CoreDumper creates core files of the form core.vb.process-name.process-ID such as core.vb.VBoxHeadless.11321.