What's in a minidump file? Does it include the data that's in AMPS?
AMPS minidump files are in Google Breakpad format.
The minidumps contain the stack for each of the threads in the application, a list of the shared objects loaded and files mapped at the time of the dump, and some very basic information about the processor architecture and number of CPUs. This information includes the registers saved for each stack frame, but does NOT include any other data such as the contents of any other variables, the AMPS configuration file, the state or contents of any SOW topic or journal files, the state of the operating system, the networking or storage hardware on the device, the amount of memory available, or any similar information.
Minidumps are useful for helping 60East support determine what part of the code each thread in AMPS is executing at the time the minidump is generated. However, because the dump does not include the full state of AMPS (or any history beyond the current stack trace as to how AMPS arrived at that state), minidumps are typically most useful when combined with AMPS logs. This combination of information helps 60East support understand both the state of AMPS when the minidump was generated and the sequence of events that created that state. For some problems, such as diagnosing a system that is over capacity, the information in the AMPS statistics database about the overall system health (such as CPU load, memory consumption, and so on) may also provide valuable information to help understand the conditions under which the dump was created.
In other words, a minidump might indicate a problem with processing a message for merging a delta update. However, the minidump would only provide indirect (and likely incomplete) clues as to the contents of the incoming message or the contents of the message being merged. The minidump doesn't contain the configuration of the topic, information on active subscriptions (or the filters used by those subscriptions), and so on.
These limitations are intentional. Minidumps are intended to explicitly avoid including any proprietary information so they can be freely shared for troubleshooting purposes. At the same time, though, this means that they may not include information that's needed for a full analysis of the problem.
Last updated