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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 //! For Mac OS X snapshots, this is taken from the module’s | 102 //! For Mac OS X snapshots, this is taken from the module’s |
103 //! `LC_SOURCE_VERSION` load command. | 103 //! `LC_SOURCE_VERSION` load command. |
104 virtual void SourceVersion(uint16_t* version_0, | 104 virtual void SourceVersion(uint16_t* version_0, |
105 uint16_t* version_1, | 105 uint16_t* version_1, |
106 uint16_t* version_2, | 106 uint16_t* version_2, |
107 uint16_t* version_3) const = 0; | 107 uint16_t* version_3) const = 0; |
108 | 108 |
109 //! \brief Returns the module’s type. | 109 //! \brief Returns the module’s type. |
110 virtual ModuleType GetModuleType() const = 0; | 110 virtual ModuleType GetModuleType() const = 0; |
111 | 111 |
112 //! \brief Returns the module’s UUID in the \a uuid parameter. | 112 //! \brief Returns the module’s UUID in the \a uuid parameter, and the age of |
| 113 //! that UUID in \a age. |
113 //! | 114 //! |
114 //! A snapshot module’s UUID is taken directly from the module itself. If the | 115 //! A snapshot module’s UUID is taken directly from the module itself. If the |
115 //! module does not have a UUID, the \a uuid parameter will be zeroed out. | 116 //! module does not have a UUID, the \a uuid parameter will be zeroed out. |
116 virtual void UUID(crashpad::UUID* uuid) const = 0; | 117 //! |
| 118 //! \a age is the number of times the UUID has been reused. This occurs on |
| 119 //! Windows with incremental linking. On other platforms \a age will always be |
| 120 //! `0`. |
| 121 virtual void UUIDAndAge(crashpad::UUID* uuid, uint32_t* age) const = 0; |
117 | 122 |
118 //! \brief Returns string annotations recorded in the module. | 123 //! \brief Returns string annotations recorded in the module. |
119 //! | 124 //! |
120 //! This method retrieves annotations recorded in a module. These annotations | 125 //! This method retrieves annotations recorded in a module. These annotations |
121 //! are intended for diagnostic use, including crash analysis. A module may | 126 //! are intended for diagnostic use, including crash analysis. A module may |
122 //! contain multiple annotations, so they are returned in a vector. | 127 //! contain multiple annotations, so they are returned in a vector. |
123 //! | 128 //! |
124 //! For Mac OS X snapshots, these annotations are found by interpreting the | 129 //! For Mac OS X snapshots, these annotations are found by interpreting the |
125 //! module’s `__DATA, __crash_info` section as `crashreporter_annotations_t`. | 130 //! module’s `__DATA, __crash_info` section as `crashreporter_annotations_t`. |
126 //! System libraries using the crash reporter client interface may reference | 131 //! System libraries using the crash reporter client interface may reference |
(...skipping 22 matching lines...) Expand all Loading... |
149 //! The annotations returned by this method do not duplicate those returned by | 154 //! The annotations returned by this method do not duplicate those returned by |
150 //! AnnotationsVector(). Additional annotations related to the process, | 155 //! AnnotationsVector(). Additional annotations related to the process, |
151 //! system, or snapshot producer may be obtained by calling | 156 //! system, or snapshot producer may be obtained by calling |
152 //! ProcessSnapshot::AnnotationsSimpleMap(). | 157 //! ProcessSnapshot::AnnotationsSimpleMap(). |
153 virtual std::map<std::string, std::string> AnnotationsSimpleMap() const = 0; | 158 virtual std::map<std::string, std::string> AnnotationsSimpleMap() const = 0; |
154 }; | 159 }; |
155 | 160 |
156 } // namespace crashpad | 161 } // namespace crashpad |
157 | 162 |
158 #endif // CRASHPAD_SNAPSHOT_MODULE_SNAPSHOT_H_ | 163 #endif // CRASHPAD_SNAPSHOT_MODULE_SNAPSHOT_H_ |
OLD | NEW |