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

Side by Side Diff: snapshot/win/process_snapshot_win.h

Issue 1314093002: Refactor handler/main for Windows, implement CrashHandlerExceptionServer (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@crash-handler-exe
Patch Set: fixes2 Created 5 years, 3 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 | « snapshot/win/exception_snapshot_win_test.cc ('k') | snapshot/win/process_snapshot_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Crashpad Authors. All rights reserved. 1 // Copyright 2015 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 //! \brief Initializes the object. 52 //! \brief Initializes the object.
53 //! 53 //!
54 //! \param[in] process The handle to create a snapshot from. 54 //! \param[in] process The handle to create a snapshot from.
55 //! 55 //!
56 //! \return `true` if the snapshot could be created, `false` otherwise with 56 //! \return `true` if the snapshot could be created, `false` otherwise with
57 //! an appropriate message logged. 57 //! an appropriate message logged.
58 bool Initialize(HANDLE process); 58 bool Initialize(HANDLE process);
59 59
60 //! \brief Initializes the object's exception. 60 //! \brief Initializes the object's exception.
61 //! 61 //!
62 //! This populates the data to be returned by Exception(). The parameters may 62 //! This populates the data to be returned by Exception().
63 //! be passed directly through from a Windows exception handler.
64 //! 63 //!
65 //! This method must not be called until after a successful call to 64 //! This method must not be called until after a successful call to
66 //! Initialize(). 65 //! Initialize().
67 //! 66 //!
67 //! \param[in] exception_information_address The address in the client
68 //! process's address space of an ExceptionInformation structure.
69 //!
68 //! \return `true` if the exception information could be initialized, `false` 70 //! \return `true` if the exception information could be initialized, `false`
69 //! otherwise with an appropriate message logged. When this method returns 71 //! otherwise with an appropriate message logged. When this method returns
70 //! `false`, the ProcessSnapshotWin object's validity remains unchanged. 72 //! `false`, the ProcessSnapshotWin object's validity remains unchanged.
71 bool InitializeException(DWORD thread_id, 73 bool InitializeException(WinVMAddress exception_information_address);
72 WinVMAddress exception_pointers);
73 74
74 //! \brief Sets the value to be returned by ReportID(). 75 //! \brief Sets the value to be returned by ReportID().
75 //! 76 //!
76 //! The crash report ID is under the control of the snapshot producer, which 77 //! The crash report ID is under the control of the snapshot producer, which
77 //! may call this method to set the report ID. If this is not done, ReportID() 78 //! may call this method to set the report ID. If this is not done, ReportID()
78 //! will return an identifier consisting entirely of zeroes. 79 //! will return an identifier consisting entirely of zeroes.
79 void SetReportID(const UUID& report_id) { report_id_ = report_id; } 80 void SetReportID(const UUID& report_id) { report_id_ = report_id; }
80 81
81 //! \brief Sets the value to be returned by ClientID(). 82 //! \brief Sets the value to be returned by ClientID().
82 //! 83 //!
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 std::map<std::string, std::string> annotations_simple_map_; 137 std::map<std::string, std::string> annotations_simple_map_;
137 timeval snapshot_time_; 138 timeval snapshot_time_;
138 InitializationStateDcheck initialized_; 139 InitializationStateDcheck initialized_;
139 140
140 DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotWin); 141 DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotWin);
141 }; 142 };
142 143
143 } // namespace crashpad 144 } // namespace crashpad
144 145
145 #endif // CRASHPAD_SNAPSHOT_WIN_PROCESS_SNAPSHOT_WIN_H_ 146 #endif // CRASHPAD_SNAPSHOT_WIN_PROCESS_SNAPSHOT_WIN_H_
OLDNEW
« no previous file with comments | « snapshot/win/exception_snapshot_win_test.cc ('k') | snapshot/win/process_snapshot_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698