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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 // “new exception ports”, indicating that they show the state of the exception | 204 // “new exception ports”, indicating that they show the state of the exception |
205 // ports after SetExceptionPort() has been called. Any send rights obtained by | 205 // ports after SetExceptionPort() has been called. Any send rights obtained by |
206 // this function are added to |mach_send_right_pool|. | 206 // this function are added to |mach_send_right_pool|. |
207 void ShowExceptionPorts(const ExceptionPorts& exception_ports, | 207 void ShowExceptionPorts(const ExceptionPorts& exception_ports, |
208 bool numeric, | 208 bool numeric, |
209 bool is_new, | 209 bool is_new, |
210 MachSendRightPool* mach_send_right_pool) { | 210 MachSendRightPool* mach_send_right_pool) { |
211 const char* target_name = exception_ports.TargetTypeName(); | 211 const char* target_name = exception_ports.TargetTypeName(); |
212 | 212 |
213 std::vector<ExceptionPorts::ExceptionHandler> handlers; | 213 std::vector<ExceptionPorts::ExceptionHandler> handlers; |
214 if (!exception_ports.GetExceptionPorts(ExcMaskAll() | EXC_MASK_CRASH, | 214 if (!exception_ports.GetExceptionPorts(ExcMaskValid(), &handlers)) { |
215 &handlers)) { | |
216 return; | 215 return; |
217 } | 216 } |
218 | 217 |
219 const char* age_name = is_new ? "new " : ""; | 218 const char* age_name = is_new ? "new " : ""; |
220 | 219 |
221 if (handlers.size() == 0) { | 220 if (handlers.size() == 0) { |
222 printf("no %s%s exception ports\n", age_name, target_name); | 221 printf("no %s%s exception ports\n", age_name, target_name); |
223 } | 222 } |
224 | 223 |
225 for (size_t port_index = 0; port_index < handlers.size(); ++port_index) { | 224 for (size_t port_index = 0; port_index < handlers.size(); ++port_index) { |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 | 583 |
585 return kExitSuccess; | 584 return kExitSuccess; |
586 } | 585 } |
587 | 586 |
588 } // namespace | 587 } // namespace |
589 } // namespace crashpad | 588 } // namespace crashpad |
590 | 589 |
591 int main(int argc, char* argv[]) { | 590 int main(int argc, char* argv[]) { |
592 return crashpad::ExceptionPortToolMain(argc, argv); | 591 return crashpad::ExceptionPortToolMain(argc, argv); |
593 } | 592 } |
OLD | NEW |