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

Side by Side Diff: util/win/process_info.h

Issue 1364053002: win: Save contents of PEB to minidump (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@save-teb
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 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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 //! \return The target process's process ID. 71 //! \return The target process's process ID.
72 pid_t ProcessID() const; 72 pid_t ProcessID() const;
73 73
74 //! \return The target process's parent process ID. 74 //! \return The target process's parent process ID.
75 pid_t ParentProcessID() const; 75 pid_t ParentProcessID() const;
76 76
77 //! \return The command line from the target process's Process Environment 77 //! \return The command line from the target process's Process Environment
78 //! Block. 78 //! Block.
79 bool CommandLine(std::wstring* command_line) const; 79 bool CommandLine(std::wstring* command_line) const;
80 80
81 //! \brief Gets the address and size of the process's Process Environment
82 //! Block.
83 //!
84 //! \param[out] peb_address The address of the Process Environment Block.
85 //! \param[out] peb_size The size of the Process Environment Block.
86 void Peb(WinVMAddress* peb_address, WinVMSize* peb_size) const;
87
81 //! \brief Retrieves the modules loaded into the target process. 88 //! \brief Retrieves the modules loaded into the target process.
82 //! 89 //!
83 //! The modules are enumerated in initialization order as detailed in the 90 //! The modules are enumerated in initialization order as detailed in the
84 //! Process Environment Block. The main executable will always be the 91 //! Process Environment Block. The main executable will always be the
85 //! first element. 92 //! first element.
86 bool Modules(std::vector<Module>* modules) const; 93 bool Modules(std::vector<Module>* modules) const;
87 94
88 private: 95 private:
89 template <class Traits> 96 template <class Traits>
90 friend bool GetProcessBasicInformation(HANDLE process, 97 friend bool GetProcessBasicInformation(HANDLE process,
91 bool is_wow64, 98 bool is_wow64,
92 ProcessInfo* process_info, 99 ProcessInfo* process_info,
93 WinVMAddress* peb_address); 100 WinVMAddress* peb_address,
101 WinVMSize* peb_size);
94 template <class Traits> 102 template <class Traits>
95 friend bool ReadProcessData(HANDLE process, 103 friend bool ReadProcessData(HANDLE process,
96 WinVMAddress peb_address_vmaddr, 104 WinVMAddress peb_address_vmaddr,
97 ProcessInfo* process_info); 105 ProcessInfo* process_info);
98 106
99 pid_t process_id_; 107 pid_t process_id_;
100 pid_t inherited_from_process_id_; 108 pid_t inherited_from_process_id_;
101 std::wstring command_line_; 109 std::wstring command_line_;
110 WinVMAddress peb_address_;
111 WinVMSize peb_size_;
102 std::vector<Module> modules_; 112 std::vector<Module> modules_;
103 bool is_64_bit_; 113 bool is_64_bit_;
104 bool is_wow64_; 114 bool is_wow64_;
105 InitializationStateDcheck initialized_; 115 InitializationStateDcheck initialized_;
106 116
107 DISALLOW_COPY_AND_ASSIGN(ProcessInfo); 117 DISALLOW_COPY_AND_ASSIGN(ProcessInfo);
108 }; 118 };
109 119
110 } // namespace crashpad 120 } // namespace crashpad
111 121
112 #endif // CRASHPAD_UTIL_WIN_PROCESS_INFO_H_ 122 #endif // CRASHPAD_UTIL_WIN_PROCESS_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698