| Version 20 (modified by , 15 years ago) ( diff ) |
|---|
How to create a core dump on Linux
A core dump is very helpful for helping us tracking down crashes of VirtualBox. To create a core dump, start VirtualBox from a command line (e.g. xterm):
$ ulimit -c unlimited $ VirtualBox
or better start the VM directly:
$ ulimit -c unlimited $ /usr/lib/virtualbox/VirtualBox -startvm VM_NAME
Ensure that no startup script (~/.bashrc, ~/.bash_profile, ~/.profile) contains an instruction like ulimit -c 0 as the limit cannot be increased once it was set to zero.
Starting with version 2.0.0, the VirtualBox processes are started suid root. Therefore do
$ sudo su $ echo -n 1 > /proc/sys/fs/suid_dumpable $ exit
before starting the VM/GUI (note that sudo echo will sometimes not work).
When VirtualBox crashes, a file core.<pid> is created in the current directory. Be aware that core dumps can be very huge. Please compress the file before submitting it to a bug report. Or better don't attach the file to a report. Note that this core dump can contain a memory dump of your guest which can include sensitive information. Send it to frank _dot_ mehnert at sun _dot_ com if the compressed file is smaller than 5MB. Contact me directly otherwise.
How to create dumps on Mac OS X
To create a core dump on Mac OS X, start VirtualBox from a command line:
$ ulimit -c unlimited $ VirtualBox
or better start the VM directly:
$ ulimit -c unlimited $ /Applications/VirtualBox.app/Contents/MacOS/VirtualBox -startvm VM_NAME
Ensure that no startup script (~/.bashrc, ~/.bash_profile, ~/.profile) contains an instruction like ulimit -c 0 as the limit cannot be increased once it was set to zero.
The core files can be found in the /cores folder.
How to create dumps on OpenSolaris
To get core on OpenSolaris host create coreadm.conf file
# cat /etc/coreadm.conf COREADM_GLOB_PATTERN=/tmp/cores/core.%f.%p COREADM_GLOB_CONTENT=all COREADM_INIT_PATTERN=%f.%p COREADM_INIT_CONTENT=all COREADM_GLOB_ENABLED=yes COREADM_PROC_ENABLED=yes COREADM_GLOB_SETID_ENABLED=yes COREADM_PROC_SETID_ENABLED=yes COREADM_GLOB_LOG_ENABLED=yes
then enforce coreadm(1) to read configuration from file
# coreadm -U # pfexec svcs | grep coreadm online 20:40:11 svc:/system/coreadm:default # pfexec svcadm restart coreadm # pfexec svcs | grep coreadm online 5:30:22 svc:/system/coreadm:default # ulimit -c unlimited
After mentioned above manipulations core files will appear in /var/cores folder
Forcing VirtualBox to terminate with a core dump
Sometimes it is required to force a VirtualBox process to terminate, for example, a VM hangs for some unknown reason. On Linux, this can be done as follows:
$ ulimit -c unlimited $ sudo echo -n 1 > /proc/sys/fs/suid_dumpable $ /usr/lib/virtualbox/VirtualBox -startvm VM_NAME & $ pidof VirtualBox 7145 $ kill -4 7145
On Mac OS X:
$ ulimit -c unlimited $ /Applications/VirtualBox.app/Contents/MacOS/VirtualBox -startvm VM_NAME & $ ps aux|grep VirtualBox ... 7145 ... VirtualBox ... $ kill -4 7145
On OpenSolaris:
# ulimit -c unlimited # /opt/VirtualBox/amd64/bin/VirtualBox -startvm VM_NAME & # ps aux|grep VirtualBox ... 7145 ... VirtualBox ... # kill -4 7145
You can find result core file according location specified in coreadm
# coreadm
Passing the signal number 4 (SIGILL) is essential! The same applies to the alternative frontends VBoxHeadless and VBoxSDL.
How to minidumps on Windows
Please visit this Microsoft site for more details about minidumps
Please visit the Microsoft Performance Team blog for more details about Application crash dumps

