OLD | NEW |
1 // Copyright (c) 2010 Google Inc. | 1 // Copyright (c) 2010 Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 logger::write(strerror(errno), strlen(strerror(errno))); | 563 logger::write(strerror(errno), strlen(strerror(errno))); |
564 logger::write("\n", 1); | 564 logger::write("\n", 1); |
565 } | 565 } |
566 } | 566 } |
567 | 567 |
568 // This function runs in a compromised context: see the top of the file. | 568 // This function runs in a compromised context: see the top of the file. |
569 // Runs on the cloned process. | 569 // Runs on the cloned process. |
570 bool ExceptionHandler::DoDump(pid_t crashing_process, const void* context, | 570 bool ExceptionHandler::DoDump(pid_t crashing_process, const void* context, |
571 size_t context_size) { | 571 size_t context_size) { |
572 if (minidump_descriptor_.IsMicrodumpOnConsole()) { | 572 if (minidump_descriptor_.IsMicrodumpOnConsole()) { |
573 return google_breakpad::WriteMicrodump(crashing_process, | 573 return google_breakpad::WriteMicrodump( |
574 context, | 574 crashing_process, |
575 context_size, | 575 context, |
576 mapping_list_); | 576 context_size, |
| 577 mapping_list_, |
| 578 minidump_descriptor_.microdump_build_fingerprint(), |
| 579 minidump_descriptor_.microdump_product_info()); |
577 } | 580 } |
578 if (minidump_descriptor_.IsFD()) { | 581 if (minidump_descriptor_.IsFD()) { |
579 return google_breakpad::WriteMinidump(minidump_descriptor_.fd(), | 582 return google_breakpad::WriteMinidump(minidump_descriptor_.fd(), |
580 minidump_descriptor_.size_limit(), | 583 minidump_descriptor_.size_limit(), |
581 crashing_process, | 584 crashing_process, |
582 context, | 585 context, |
583 context_size, | 586 context_size, |
584 mapping_list_, | 587 mapping_list_, |
585 app_memory_list_); | 588 app_memory_list_); |
586 } | 589 } |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 descriptor.UpdatePath(); | 740 descriptor.UpdatePath(); |
738 if (!google_breakpad::WriteMinidump(descriptor.path(), | 741 if (!google_breakpad::WriteMinidump(descriptor.path(), |
739 child, | 742 child, |
740 child_blamed_thread)) | 743 child_blamed_thread)) |
741 return false; | 744 return false; |
742 | 745 |
743 return callback ? callback(descriptor, callback_context, true) : true; | 746 return callback ? callback(descriptor, callback_context, true) : true; |
744 } | 747 } |
745 | 748 |
746 } // namespace google_breakpad | 749 } // namespace google_breakpad |
OLD | NEW |