OLD | NEW |
---|---|
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
160 //! \brief The stream type for MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2, | 160 //! \brief The stream type for MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2, |
161 //! MINIDUMP_MISC_INFO_3, and MINIDUMP_MISC_INFO_4. | 161 //! MINIDUMP_MISC_INFO_3, and MINIDUMP_MISC_INFO_4. |
162 //! | 162 //! |
163 //! More recent versions of this stream are supersets of earlier versions. | 163 //! More recent versions of this stream are supersets of earlier versions. |
164 //! | 164 //! |
165 //! The exact version of the stream that is present is implied by the stream’s | 165 //! The exact version of the stream that is present is implied by the stream’s |
166 //! size. Furthermore, this stream contains a field, | 166 //! size. Furthermore, this stream contains a field, |
167 //! MINIDUMP_MISC_INFO::Flags1, that indicates which data is present and | 167 //! MINIDUMP_MISC_INFO::Flags1, that indicates which data is present and |
168 //! valid. | 168 //! valid. |
169 MiscInfoStream = 15, | 169 MiscInfoStream = 15, |
170 | |
171 //! \brief The stream type for MINIDUMP_MEMORY_INFO_LIST. | |
172 MemoryInfoListStream = 16, | |
170 }; | 173 }; |
171 | 174 |
172 //! \brief Information about the CPU (or CPUs) that ran the process that the | 175 //! \brief Information about the CPU (or CPUs) that ran the process that the |
173 //! minidump file contains a snapshot of. | 176 //! minidump file contains a snapshot of. |
174 //! | 177 //! |
175 //! This union only appears as MINIDUMP_SYSTEM_INFO::Cpu. Its interpretation is | 178 //! This union only appears as MINIDUMP_SYSTEM_INFO::Cpu. Its interpretation is |
176 //! controlled by MINIDUMP_SYSTEM_INFO::ProcessorArchitecture. | 179 //! controlled by MINIDUMP_SYSTEM_INFO::ProcessorArchitecture. |
177 union __attribute__((packed, aligned(4))) CPU_INFORMATION { | 180 union __attribute__((packed, aligned(4))) CPU_INFORMATION { |
178 //! \brief Information about 32-bit x86 CPUs, or x86_64 CPUs when running | 181 //! \brief Information about 32-bit x86 CPUs, or x86_64 CPUs when running |
179 //! 32-bit x86 processes. | 182 //! 32-bit x86 processes. |
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
852 uint32_t AllocationProtect; | 855 uint32_t AllocationProtect; |
853 | 856 |
854 //! \brief To align the next field. | 857 //! \brief To align the next field. |
855 uint32_t __alignment1; | 858 uint32_t __alignment1; |
856 | 859 |
857 //! \brief The size of the region beginning at the base address in which all | 860 //! \brief The size of the region beginning at the base address in which all |
858 //! pages have identical attributes, in bytes. | 861 //! pages have identical attributes, in bytes. |
859 uint64_t RegionSize; | 862 uint64_t RegionSize; |
860 | 863 |
861 //! \brief The state of the pages in the region. This can be one of | 864 //! \brief The state of the pages in the region. This can be one of |
862 //! `MEM_COMMIT`, `MEM_FREE`, or `MEM_RESERVE`. | 865 //! `MEM_COMMIT`, `MEM_FREE`, or `MEM_RESERVE`. |
Mark Mentovai
2015/10/12 14:34:46
Since we have our own versions of these now, this
scottmg
2015/10/13 19:51:29
Done.
| |
863 uint32_t State; | 866 uint32_t State; |
864 | 867 |
865 //! \brief The access protection of the pages in the region. This member is | 868 //! \brief The access protection of the pages in the region. This member is |
866 //! one of the values listed for the #AllocationProtect member. | 869 //! one of the values listed for the #AllocationProtect member. |
867 uint32_t Protect; | 870 uint32_t Protect; |
868 | 871 |
869 //! \brief The type of pages in the region. This can be one of `MEM_IMAGE`, | 872 //! \brief The type of pages in the region. This can be one of `MEM_IMAGE`, |
870 //! `MEM_MAPPED`, or `MEM_PRIVATE`. | 873 //! `MEM_MAPPED`, or `MEM_PRIVATE`. |
871 uint32_t Type; | 874 uint32_t Type; |
872 | 875 |
873 //! \brief To align the next MINIDUMP_MEMORY_INFO in an array. | 876 //! \brief To align the next MINIDUMP_MEMORY_INFO in an array. |
874 uint32_t __alignment2; | 877 uint32_t __alignment2; |
875 }; | 878 }; |
876 | 879 |
880 //! \brief Contains a list of memory regions. | |
881 struct __attribute__((packed, aligned(4))) MINIDUMP_MEMORY_INFO_LIST { | |
882 //! \brief The size of the header data for the stream, in bytes. This is | |
883 //! generally sizeof(MINIDUMP_MEMORY_INFO_LIST). | |
884 uint32_t SizeOfHeader; | |
885 | |
886 //! \brief The size of each entry following the header, in bytes. This is | |
887 //! generally sizeof(MINIDUMP_MEMORY_INFO). | |
888 uint32_t SizeOfEntry; | |
889 | |
890 //! \brief The number of entries in the stream. These are generally | |
891 //! MINIDUMP_MEMORY_INFO structures. The entries follow the header. | |
892 uint64_t NumberOfEntries; | |
893 }; | |
894 | |
877 //! \brief Minidump file type values for MINIDUMP_HEADER::Flags. These bits | 895 //! \brief Minidump file type values for MINIDUMP_HEADER::Flags. These bits |
878 //! describe the types of data carried within a minidump file. | 896 //! describe the types of data carried within a minidump file. |
879 enum MINIDUMP_TYPE { | 897 enum MINIDUMP_TYPE { |
880 //! \brief A minidump file without any additional data. | 898 //! \brief A minidump file without any additional data. |
881 //! | 899 //! |
882 //! This type of minidump file contains: | 900 //! This type of minidump file contains: |
883 //! - A MINIDUMP_SYSTEM_INFO stream. | 901 //! - A MINIDUMP_SYSTEM_INFO stream. |
884 //! - A MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2, MINIDUMP_MISC_INFO_3, or | 902 //! - A MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2, MINIDUMP_MISC_INFO_3, or |
885 //! MINIDUMP_MISC_INFO_4 stream, depending on which fields are present. | 903 //! MINIDUMP_MISC_INFO_4 stream, depending on which fields are present. |
886 //! - A MINIDUMP_THREAD_LIST stream. All threads are present, along with a | 904 //! - A MINIDUMP_THREAD_LIST stream. All threads are present, along with a |
887 //! snapshot of each thread’s stack memory sufficient to obtain backtraces. | 905 //! snapshot of each thread’s stack memory sufficient to obtain backtraces. |
888 //! - If the minidump file was generated as a result of an exception, a | 906 //! - If the minidump file was generated as a result of an exception, a |
889 //! MINIDUMP_EXCEPTION_STREAM describing the exception. | 907 //! MINIDUMP_EXCEPTION_STREAM describing the exception. |
890 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. | 908 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. |
891 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers | 909 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers |
892 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST | 910 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST |
893 //! stream. This type of minidump file also includes a | 911 //! stream. This type of minidump file also includes a |
894 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around | 912 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around |
895 //! the exception address or the instruction pointer. | 913 //! the exception address or the instruction pointer. |
896 MiniDumpNormal = 0x00000000, | 914 MiniDumpNormal = 0x00000000, |
897 }; | 915 }; |
898 | 916 |
899 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ | 917 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ |
OLD | NEW |