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 |