Using 3ds Max Generated Minidump Files
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 3ds Max, 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.