Lines Matching full:minidump
30 // minidump.h: A minidump reader.
32 // The basic structure of this module tracks the structure of the minidump
33 // file itself. At the top level, a minidump file is represented by a
34 // Minidump object. Like most other classes in this module, Minidump
37 // "raw" structures found in the minidump file itself, and defined in
43 // Most of the module lazily reads only the portion of the minidump file
44 // necessary to fulfill the user's request. Calling Minidump::Read
45 // only reads the minidump's directory. The thread list is not read until
50 // minidump file are not particularly large, it is possible for legitimate
51 // minidumps to be sizable. A full-memory minidump, for example, contains
52 // a snapshot of the entire mapped memory space. Even a normal minidump,
58 // attempt to cause problems by forcing the minidump processor to over-
63 // the top-level Minidump object, the creation and destruction of which
66 // Minidump object, and will be freed upon the Minidump object's destruction.
71 // be read back in from the minidump file again.
74 // Minidump::ReadString will return a string object to the user, and the user
110 class Minidump; variable
114 // MinidumpObject is the base of all Minidump* objects except for Minidump
121 explicit MinidumpObject(Minidump* minidump);
123 // Refers to the Minidump object that is the ultimate parent of this
125 // root of the ownership tree is always a Minidump. The Minidump object
127 // for access to data about the minidump file itself, such as whether
129 Minidump* minidump_;
135 // Minidump::mStreamObjects. Some object types will never be stored in
136 // Minidump::mStreamObjects, but are represented as streams and adhere to the
143 explicit MinidumpStream(Minidump* minidump);
148 // read from the minidump will be at the beginning of the stream.
166 // context for the exception handler (which performs minidump generation),
174 explicit MinidumpContext(Minidump* minidump);
182 // If the minidump contains a SYSTEM_INFO_STREAM, makes sure that the
185 // match. Returns true if the CPU type matches or if the minidump does
189 // Refers to the Minidump object that is the ultimate parent of this
191 // root of the ownership tree is always a Minidump. The Minidump object
193 // for access to data about the minidump file itself, such as whether
195 Minidump* minidump_;
203 // portions of a minidump file that contain memory dumps. In normal
218 // cached value if available, otherwise, reads the minidump file and
242 explicit MinidumpMemoryRegion(Minidump* minidump);
249 // location it may be found in the minidump file.
260 // The largest memory region that will be read from a minidump.
264 // minidump file.
305 explicit MinidumpThread(Minidump* minidump);
347 explicit MinidumpThreadList(Minidump* aMinidump);
350 friend class Minidump;
359 // The largest number of threads that will be read from a minidump. The
411 // should always reflect the original values (reported in the minidump).
441 explicit MinidumpModule(Minidump* minidump);
456 // The largest number of bytes that will be read from a minidump for a
530 explicit MinidumpModuleList(Minidump* minidump);
533 friend class Minidump;
547 // The largest number of modules that will be read from a minidump. The
561 // MinidumpMemoryList corresponds to a minidump's MEMORY_LIST_STREAM stream,
563 // within the minidump. For a normal minidump, this includes stack memory
566 // minidump file, conserving space), as well as a 256-byte snapshot of memory
592 friend class Minidump;
600 explicit MinidumpMemoryList(Minidump* minidump);
604 // The largest number of memory regions that will be read from a minidump.
626 // about the exception that caused the minidump to be generated, if the
627 // minidump was generated in an exception handler called as a result of an
651 friend class Minidump;
655 explicit MinidumpException(Minidump* minidump);
666 // about an assertion that caused the minidump to be generated.
691 friend class Minidump;
695 explicit MinidumpAssertion(Minidump* minidump);
709 // the system on which the minidump was generated. See also MinidumpMiscInfo.
719 // and CPU that produced the minidump. Unlike most other Minidump* methods,
742 explicit MinidumpSystemInfo(Minidump* minidump);
750 friend class Minidump;
791 explicit MinidumpUnloadedModule(Minidump* minidump);
849 explicit MinidumpUnloadedModuleList(Minidump* minidump_);
852 friend class Minidump;
860 // The largest number of modules that will be read from a minidump. The
875 // the process that generated the minidump, and optionally additional system
887 friend class Minidump;
892 explicit MinidumpMiscInfo(Minidump* minidump_);
910 // a minidump that provides additional information about the process state
911 // at the time the minidump was generated.
929 friend class Minidump;
933 explicit MinidumpBreakpadInfo(Minidump* minidump_);
968 explicit MinidumpMemoryInfo(Minidump* minidump_);
995 friend class Minidump;
1001 explicit MinidumpMemoryInfoList(Minidump* minidump_);
1059 explicit MinidumpLinuxMaps(Minidump *minidump);
1086 friend class Minidump;
1093 explicit MinidumpLinuxMapsList(Minidump *minidump);
1109 // a minidump that provides additional information about the process state
1110 // at the time the minidump was generated.
1121 friend class Minidump;
1125 explicit MinidumpCrashpadInfo(Minidump* minidump_);
1139 // Minidump is the user's interface to a minidump file. It wraps MDRawHeader
1140 // and provides access to the minidump's top-level stream directory.
1141 class Minidump {
1143 // path is the pathname of a file containing the minidump.
1144 explicit Minidump(const string& path,
1147 // input is an istream wrapping minidump data. Minidump holds a
1149 // is valid as long as the Minidump object is.
1150 explicit Minidump(std::istream& input);
1152 virtual ~Minidump();
1154 // path may be empty if the minidump was not opened from a file
1180 // Reads the minidump file's header and top-level stream directory.
1181 // The minidump is expected to be positioned at the beginning of the
1183 // Minidump object.
1206 // data in minidump files directly, while leveraging the rest of
1207 // this class and related classes to handle the basic minidump
1217 // Reads count bytes from the minidump at the current position into
1222 // Sets the position of the minidump file to offset.
1225 // Returns the current position of the minidump file.
1232 // minidump file.
1254 // type in a single minidump file.
1267 // Determines the platform where the minidump was produced. |platform| is
1276 // the Minidump object locate interesting streams quickly, and
1294 // Opens the minidump file, or if already open, seeks to the beginning.
1297 // The largest number of top-level streams that will be read from a minidump.
1302 // The maximum length of a UTF-16 string that will be read from a minidump
1316 // The pathname of the minidump file to process, set in the constructor.
1317 // This may be empty if the minidump was opened directly from a stream.
1324 // swap_ is true if the minidump file should be byte-swapped. If the
1325 // minidump was produced by a CPU that is other-endian than the CPU
1326 // processing the minidump, this will be true. If the two CPUs are
1330 // true if the minidump was produced by a big-endian cpu.
1333 // Validity of the Minidump structure, false immediately after
1342 DISALLOW_COPY_AND_ASSIGN(Minidump);