Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: compat/non_win/dbghelp.h

Issue 1379873005: win: Write memory map info as MINIDUMP_MEMORY_INFO[_LIST] (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@save-peb-more-2
Patch Set: typo Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | compat/non_win/winnt.h » ('j') | compat/non_win/winnt.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | compat/non_win/winnt.h » ('j') | compat/non_win/winnt.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698