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

Side by Side Diff: snapshot/mac/mach_o_image_annotations_reader.h

Issue 997713002: Allow exception forwarding to the system’s native crash reporter to be disabled (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years, 9 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,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and 12 // See the License for the specific language governing permissions and
13 // limitations under the License. 13 // limitations under the License.
14 14
15 #ifndef CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_ 15 #ifndef CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_
16 #define CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_ 16 #define CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_
17 17
18 #include <map> 18 #include <map>
19 #include <string> 19 #include <string>
20 #include <vector> 20 #include <vector>
21 21
22 #include "base/basictypes.h" 22 #include "base/basictypes.h"
23 #include "snapshot/mac/process_types.h"
23 24
24 namespace crashpad { 25 namespace crashpad {
25 26
26 class MachOImageReader; 27 class MachOImageReader;
27 class ProcessReader; 28 class ProcessReader;
28 29
29 //! \brief A reader for annotations stored in a Mach-O image mapped into another 30 //! \brief A reader for annotations stored in a Mach-O image mapped into another
30 //! process. 31 //! process.
31 //! 32 //!
32 //! These annotations are stored for the benefit of crash reporters, and provide 33 //! These annotations are stored for the benefit of crash reporters, and provide
(...skipping 26 matching lines...) Expand all
59 ~MachOImageAnnotationsReader() {} 60 ~MachOImageAnnotationsReader() {}
60 61
61 //! \brief Returns the module’s annotations that are organized as a vector of 62 //! \brief Returns the module’s annotations that are organized as a vector of
62 //! strings. 63 //! strings.
63 std::vector<std::string> Vector() const; 64 std::vector<std::string> Vector() const;
64 65
65 //! \brief Returns the module’s annotations that are organized as key-value 66 //! \brief Returns the module’s annotations that are organized as key-value
66 //! pairs, where all keys and values are strings. 67 //! pairs, where all keys and values are strings.
67 std::map<std::string, std::string> SimpleMap() const; 68 std::map<std::string, std::string> SimpleMap() const;
68 69
70 //! \brief Obtains the module’s CrashpadInfo structure.
71 //!
72 //! \return `true` on success, `false` on failure. If the module does not have
73 //! a `__crashpad_info` section, this will return `false` without logging
74 //! any messages. Other failures will result in messages being logged.
75 bool GetCrashpadInfo(process_types::CrashpadInfo* crashpad_info) const;
76
69 private: 77 private:
70 // Reades crashreporter_annotations_t::message and 78 // Reades crashreporter_annotations_t::message and
71 // crashreporter_annotations_t::message2 on behalf of Vector(). 79 // crashreporter_annotations_t::message2 on behalf of Vector().
72 void ReadCrashReporterClientAnnotations( 80 void ReadCrashReporterClientAnnotations(
73 std::vector<std::string>* vector_annotations) const; 81 std::vector<std::string>* vector_annotations) const;
74 82
75 // Reads dyld_error_string on behalf of Vector(). 83 // Reads dyld_error_string on behalf of Vector().
76 void ReadDyldErrorStringAnnotation( 84 void ReadDyldErrorStringAnnotation(
77 std::vector<std::string>* vector_annotations) const; 85 std::vector<std::string>* vector_annotations) const;
78 86
79 // Reads CrashpadInfo::simple_annotations_ on behalf of SimpleMap(). 87 // Reads CrashpadInfo::simple_annotations_ on behalf of SimpleMap().
80 void ReadCrashpadSimpleAnnotations( 88 void ReadCrashpadSimpleAnnotations(
81 std::map<std::string, std::string>* simple_map_annotations) const; 89 std::map<std::string, std::string>* simple_map_annotations) const;
82 90
83 std::string name_; 91 std::string name_;
84 ProcessReader* process_reader_; // weak 92 ProcessReader* process_reader_; // weak
85 const MachOImageReader* image_reader_; // weak 93 const MachOImageReader* image_reader_; // weak
86 94
87 DISALLOW_COPY_AND_ASSIGN(MachOImageAnnotationsReader); 95 DISALLOW_COPY_AND_ASSIGN(MachOImageAnnotationsReader);
88 }; 96 };
89 97
90 } // namespace crashpad 98 } // namespace crashpad
91 99
92 #endif // CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_ 100 #endif // CRASHPAD_SNAPSHOT_MAC_MACH_O_IMAGE_ANNOTATIONS_READER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698