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

Side by Side Diff: minidump/test/minidump_writable_test_util.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: fixes 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
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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 } 83 }
84 84
85 // This type appears only as a variable-sized list. 85 // This type appears only as a variable-sized list.
86 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_DIRECTORY); 86 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_DIRECTORY);
87 87
88 // These types are permitted to be oversized because their final fields are 88 // These types are permitted to be oversized because their final fields are
89 // variable-sized lists. 89 // variable-sized lists.
90 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_MEMORY_LIST); 90 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_MEMORY_LIST);
91 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_MODULE_LIST); 91 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_MODULE_LIST);
92 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_THREAD_LIST); 92 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_THREAD_LIST);
93 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_MEMORY_INFO_LIST);
93 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpModuleCrashpadInfoList); 94 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpModuleCrashpadInfoList);
94 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpRVAList); 95 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpRVAList);
95 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpSimpleStringDictionary); 96 MINIDUMP_ALLOW_OVERSIZED_DATA(MinidumpSimpleStringDictionary);
96 97
97 // These types have final fields carrying variable-sized data (typically string 98 // These types have final fields carrying variable-sized data (typically string
98 // data). 99 // data).
99 MINIDUMP_ALLOW_OVERSIZED_DATA(IMAGE_DEBUG_MISC); 100 MINIDUMP_ALLOW_OVERSIZED_DATA(IMAGE_DEBUG_MISC);
100 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_STRING); 101 MINIDUMP_ALLOW_OVERSIZED_DATA(MINIDUMP_STRING);
101 MINIDUMP_ALLOW_OVERSIZED_DATA(CodeViewRecordPDB20); 102 MINIDUMP_ALLOW_OVERSIZED_DATA(CodeViewRecordPDB20);
102 MINIDUMP_ALLOW_OVERSIZED_DATA(CodeViewRecordPDB70); 103 MINIDUMP_ALLOW_OVERSIZED_DATA(CodeViewRecordPDB70);
(...skipping 28 matching lines...) Expand all
131 } 132 }
132 133
133 //! \brief Returns a typed minidump object located within a minidump file’s 134 //! \brief Returns a typed minidump object located within a minidump file’s
134 //! contents, where the offset and size of the object are known. 135 //! contents, where the offset and size of the object are known.
135 //! 136 //!
136 //! This function has template specializations that perform more stringent 137 //! This function has template specializations that perform more stringent
137 //! checking than the default implementation: 138 //! checking than the default implementation:
138 //! - With a MINIDUMP_HEADER template parameter, a template specialization 139 //! - With a MINIDUMP_HEADER template parameter, a template specialization
139 //! ensures that the structure’s magic number and version fields are correct. 140 //! ensures that the structure’s magic number and version fields are correct.
140 //! - With a MINIDUMP_MEMORY_LIST, MINIDUMP_THREAD_LIST, MINIDUMP_MODULE_LIST, 141 //! - With a MINIDUMP_MEMORY_LIST, MINIDUMP_THREAD_LIST, MINIDUMP_MODULE_LIST,
141 //! or MinidumpSimpleStringDictionary template parameter, template 142 //! MINIDUMP_MEMORY_INFO_LIST, or MinidumpSimpleStringDictionary template
142 //! specializations ensure that the size given by \a location matches the 143 //! parameter, template specializations ensure that the size given by \a
143 //! size expected of a stream containing the number of elements it claims to 144 //! location matches the size expected of a stream containing the number of
144 //! have. 145 //! elements it claims to have.
145 //! - With an IMAGE_DEBUG_MISC, CodeViewRecordPDB20, or CodeViewRecordPDB70 146 //! - With an IMAGE_DEBUG_MISC, CodeViewRecordPDB20, or CodeViewRecordPDB70
146 //! template parameter, template specializations ensure that the structure 147 //! template parameter, template specializations ensure that the structure
147 //! has the expected format including any magic number and the `NUL`- 148 //! has the expected format including any magic number and the `NUL`-
148 //! terminated string. 149 //! terminated string.
149 //! 150 //!
150 //! \param[in] file_contents The contents of the minidump file. 151 //! \param[in] file_contents The contents of the minidump file.
151 //! \param[in] location A MINIDUMP_LOCATION_DESCRIPTOR giving the offset within 152 //! \param[in] location A MINIDUMP_LOCATION_DESCRIPTOR giving the offset within
152 //! the minidump file of the desired object, as well as its size. 153 //! the minidump file of the desired object, as well as its size.
153 //! 154 //!
154 //! \return If the size of \a location is at least as big as the size of the 155 //! \return If the size of \a location is at least as big as the size of the
(...skipping 28 matching lines...) Expand all
183 const MINIDUMP_MODULE_LIST* MinidumpWritableAtLocationDescriptor< 184 const MINIDUMP_MODULE_LIST* MinidumpWritableAtLocationDescriptor<
184 MINIDUMP_MODULE_LIST>(const std::string& file_contents, 185 MINIDUMP_MODULE_LIST>(const std::string& file_contents,
185 const MINIDUMP_LOCATION_DESCRIPTOR& location); 186 const MINIDUMP_LOCATION_DESCRIPTOR& location);
186 187
187 template <> 188 template <>
188 const MINIDUMP_THREAD_LIST* MinidumpWritableAtLocationDescriptor< 189 const MINIDUMP_THREAD_LIST* MinidumpWritableAtLocationDescriptor<
189 MINIDUMP_THREAD_LIST>(const std::string& file_contents, 190 MINIDUMP_THREAD_LIST>(const std::string& file_contents,
190 const MINIDUMP_LOCATION_DESCRIPTOR& location); 191 const MINIDUMP_LOCATION_DESCRIPTOR& location);
191 192
192 template <> 193 template <>
194 const MINIDUMP_MEMORY_INFO_LIST* MinidumpWritableAtLocationDescriptor<
195 MINIDUMP_MEMORY_INFO_LIST>(const std::string& file_contents,
196 const MINIDUMP_LOCATION_DESCRIPTOR& location);
197
198 template <>
193 const CodeViewRecordPDB20* MinidumpWritableAtLocationDescriptor< 199 const CodeViewRecordPDB20* MinidumpWritableAtLocationDescriptor<
194 CodeViewRecordPDB20>(const std::string& file_contents, 200 CodeViewRecordPDB20>(const std::string& file_contents,
195 const MINIDUMP_LOCATION_DESCRIPTOR& location); 201 const MINIDUMP_LOCATION_DESCRIPTOR& location);
196 202
197 template <> 203 template <>
198 const CodeViewRecordPDB70* MinidumpWritableAtLocationDescriptor< 204 const CodeViewRecordPDB70* MinidumpWritableAtLocationDescriptor<
199 CodeViewRecordPDB70>(const std::string& file_contents, 205 CodeViewRecordPDB70>(const std::string& file_contents,
200 const MINIDUMP_LOCATION_DESCRIPTOR& location); 206 const MINIDUMP_LOCATION_DESCRIPTOR& location);
201 207
202 template <> 208 template <>
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 private: 253 private:
248 uint32_t value_; 254 uint32_t value_;
249 255
250 DISALLOW_COPY_AND_ASSIGN(TestUInt32MinidumpWritable); 256 DISALLOW_COPY_AND_ASSIGN(TestUInt32MinidumpWritable);
251 }; 257 };
252 258
253 } // namespace test 259 } // namespace test
254 } // namespace crashpad 260 } // namespace crashpad
255 261
256 #endif // CRASHPAD_MINIDUMP_TEST_MINIDUMP_WRITABLE_TEST_UTIL_H_ 262 #endif // CRASHPAD_MINIDUMP_TEST_MINIDUMP_WRITABLE_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698