What is a Minidump File
A minidump file is a snapshot of the memory of a process, including the registers, the stack and possibly the heap memory.
The size and the information within a minidump file depends on the machine architecture as well as specific OS settings.
When an application crashes for any reason, a minidump file is created. The Minidump file provides information for debugging
the program. It is most useful in the cases that the crash happens on a machine on which there is no access to the source
code, and local debugging is not an option. The Microsoft Visual Studio Debugger open minidump files and allow developers
to investigate the reasons for the crash.
3ds Max and Minidump Files
For each crash, 3ds Max can create two separate minidump files and with different information in each. The basic minidump
is sent to the Autodesk servers for analysis, and the second file (which often includes the full program heap memory and is
in the order of gigabytes in size) is stored locally. The filename for the second minidump is the same for the first basic
minidump, except it has an additional "_big" at the end of the filename. Users can define the information in each minidump
file through the Registry settings, Environment variables or the Command line switches. This article does not discuss the
Registry settings.
Environment Variables
There are two environmental variables defined to control both minidump files:
- AMED_MAX_MINIDUMP Customizes the standard minidump that is sent to Autodesk.
- AMED_MAX_BIGMINIDUMP Customizes the second minidump that is kept locally on the computer. Parameters for this can be specified separately from
the standard minidump. This second minidump will be created immediately after the standard minidump only if the environment
variable is specified, or if the appropriate command line parameter is passed in.
Both of these environment variables can be set with one of the following options:
- default - The default setting. Currently this is set to medium.
- bas or basic - A basic minidump, including no heap memory. Usually used only for AMED_MAX_MINIDUMP.
- med or medium - A basic minidump plus 1024 bytes of heap information for each pointer on the stack. This is the same as default. Usually
used only for AMED_MAX_MINIDUMP.
- full - Generates a full heap minidump. For 3dsmax, this file size can be up to a few Gigs in file size. Usually used only for
AMED_MAX_BIGMINIDUMP.
- none - Used for AMED_MAX_BIGMINIDUMP only. It turns off the second, alternate minidump.
Command Line Switches
- -tm Controls the behavior for the standard minidump file. You can pass in one of the options specified above after the switch.
For example the command 3dsmax -tm basic will generate a basic minidump file.
- -tbm Turns on the second or additional minidump. Pass in one of the options specified above after the switch. For example, the
command 3dsmax -tbm full will generate an additional full heap snapshot called 3dsmax_minidump_big.dmp and will place it in the user’s local temp directory.