| OLD | NEW |
| 1 // Copyright (c) 2006, Google Inc. | 1 // Copyright (c) 2006, 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 } | 119 } |
| 120 | 120 |
| 121 // This will just return an empty string if it doesn't exist. | 121 // This will just return an empty string if it doesn't exist. |
| 122 process_state->assertion_ = GetAssertion(dump); | 122 process_state->assertion_ = GetAssertion(dump); |
| 123 | 123 |
| 124 MinidumpModuleList *module_list = dump->GetModuleList(); | 124 MinidumpModuleList *module_list = dump->GetModuleList(); |
| 125 | 125 |
| 126 // Put a copy of the module list into ProcessState object. This is not | 126 // Put a copy of the module list into ProcessState object. This is not |
| 127 // necessarily a MinidumpModuleList, but it adheres to the CodeModules | 127 // necessarily a MinidumpModuleList, but it adheres to the CodeModules |
| 128 // interface, which is all that ProcessState needs to expose. | 128 // interface, which is all that ProcessState needs to expose. |
| 129 if (module_list) | 129 if (module_list) { |
| 130 process_state->modules_ = module_list->Copy(); | 130 process_state->modules_ = module_list->Copy(); |
| 131 process_state->shrunk_range_modules_ = |
| 132 process_state->modules_->GetShrunkRangeModules(); |
| 133 for (unsigned int i = 0; |
| 134 i < process_state->shrunk_range_modules_.size(); |
| 135 i++) { |
| 136 linked_ptr<const CodeModule> module = |
| 137 process_state->shrunk_range_modules_[i]; |
| 138 BPLOG(INFO) << "The range for module " << module->code_file() |
| 139 << " was shrunk down by " << HexString( |
| 140 module->shrink_down_delta()) << " bytes. "; |
| 141 } |
| 142 } |
| 131 | 143 |
| 132 MinidumpMemoryList *memory_list = dump->GetMemoryList(); | 144 MinidumpMemoryList *memory_list = dump->GetMemoryList(); |
| 133 if (memory_list) { | 145 if (memory_list) { |
| 134 BPLOG(INFO) << "Found " << memory_list->region_count() | 146 BPLOG(INFO) << "Found " << memory_list->region_count() |
| 135 << " memory regions."; | 147 << " memory regions."; |
| 136 } | 148 } |
| 137 | 149 |
| 138 MinidumpThreadList *threads = dump->GetThreadList(); | 150 MinidumpThreadList *threads = dump->GetThreadList(); |
| 139 if (!threads) { | 151 if (!threads) { |
| 140 BPLOG(ERROR) << "Minidump " << dump->path() << " has no thread list"; | 152 BPLOG(ERROR) << "Minidump " << dump->path() << " has no thread list"; |
| (...skipping 1412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1553 char assertion_line[32]; | 1565 char assertion_line[32]; |
| 1554 snprintf(assertion_line, sizeof(assertion_line), "%u", raw_assertion->line); | 1566 snprintf(assertion_line, sizeof(assertion_line), "%u", raw_assertion->line); |
| 1555 assertion_string.append(" at line "); | 1567 assertion_string.append(" at line "); |
| 1556 assertion_string.append(assertion_line); | 1568 assertion_string.append(assertion_line); |
| 1557 } | 1569 } |
| 1558 | 1570 |
| 1559 return assertion_string; | 1571 return assertion_string; |
| 1560 } | 1572 } |
| 1561 | 1573 |
| 1562 } // namespace google_breakpad | 1574 } // namespace google_breakpad |
| OLD | NEW |