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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 BPLOG(INFO) << "Stackwalker interrupt (missing symbols?) at " | 260 BPLOG(INFO) << "Stackwalker interrupt (missing symbols?) at " |
261 << thread_string; | 261 << thread_string; |
262 interrupted = true; | 262 interrupted = true; |
263 } | 263 } |
264 } else { | 264 } else { |
265 // Threads with missing CPU contexts will hit this, but | 265 // Threads with missing CPU contexts will hit this, but |
266 // don't abort processing the rest of the dump just for | 266 // don't abort processing the rest of the dump just for |
267 // one bad thread. | 267 // one bad thread. |
268 BPLOG(ERROR) << "No stackwalker for " << thread_string; | 268 BPLOG(ERROR) << "No stackwalker for " << thread_string; |
269 } | 269 } |
| 270 stack->set_tid(thread_id); |
270 process_state->threads_.push_back(stack.release()); | 271 process_state->threads_.push_back(stack.release()); |
271 process_state->thread_memory_regions_.push_back(thread_memory); | 272 process_state->thread_memory_regions_.push_back(thread_memory); |
272 } | 273 } |
273 | 274 |
274 if (interrupted) { | 275 if (interrupted) { |
275 BPLOG(INFO) << "Processing interrupted for " << dump->path(); | 276 BPLOG(INFO) << "Processing interrupted for " << dump->path(); |
276 return PROCESS_SYMBOL_SUPPLIER_INTERRUPTED; | 277 return PROCESS_SYMBOL_SUPPLIER_INTERRUPTED; |
277 } | 278 } |
278 | 279 |
279 // If a requesting thread was indicated, it must be present. | 280 // If a requesting thread was indicated, it must be present. |
(...skipping 1272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1552 char assertion_line[32]; | 1553 char assertion_line[32]; |
1553 snprintf(assertion_line, sizeof(assertion_line), "%u", raw_assertion->line); | 1554 snprintf(assertion_line, sizeof(assertion_line), "%u", raw_assertion->line); |
1554 assertion_string.append(" at line "); | 1555 assertion_string.append(" at line "); |
1555 assertion_string.append(assertion_line); | 1556 assertion_string.append(assertion_line); |
1556 } | 1557 } |
1557 | 1558 |
1558 return assertion_string; | 1559 return assertion_string; |
1559 } | 1560 } |
1560 | 1561 |
1561 } // namespace google_breakpad | 1562 } // namespace google_breakpad |
OLD | NEW |