Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: components/breakpad/tools/generate_breakpad_symbols.py

Issue 294203002: Ignore exceptions when writing breakpad symbols (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """A tool to generate symbols for a binary suitable for breakpad. 6 """A tool to generate symbols for a binary suitable for breakpad.
7 7
8 Currently, the tool only supports Linux, Android, and Mac. Support for other 8 Currently, the tool only supports Linux, Android, and Mac. Support for other
9 platforms is planned. 9 platforms is planned.
10 """ 10 """
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 if os.path.isdir(output_path): 171 if os.path.isdir(output_path):
172 os.utime(output_path, None) 172 os.utime(output_path, None)
173 173
174 syms = GetCommandOutput([GetDumpSymsBinary(options.build_dir), '-r', 174 syms = GetCommandOutput([GetDumpSymsBinary(options.build_dir), '-r',
175 binary]) 175 binary])
176 module_line = re.match("MODULE [^ ]+ [^ ]+ ([0-9A-F]+) (.*)\n", syms) 176 module_line = re.match("MODULE [^ ]+ [^ ]+ ([0-9A-F]+) (.*)\n", syms)
177 output_path = os.path.join(options.symbols_dir, module_line.group(2), 177 output_path = os.path.join(options.symbols_dir, module_line.group(2),
178 module_line.group(1)) 178 module_line.group(1))
179 mkdir_p(output_path) 179 mkdir_p(output_path)
180 symbol_file = "%s.sym" % module_line.group(2) 180 symbol_file = "%s.sym" % module_line.group(2)
181 f = open(os.path.join(output_path, symbol_file), 'w') 181 try:
182 f.write(syms) 182 f = open(os.path.join(output_path, symbol_file), 'w')
183 f.close() 183 f.write(syms)
184 f.close()
185 except:
186 # Not much we can do about this.
Lei Zhang 2014/05/23 03:02:32 Log an error at least?
187 pass
184 188
185 queue.task_done() 189 queue.task_done()
186 190
187 for binary in binaries: 191 for binary in binaries:
188 queue.put(binary) 192 queue.put(binary)
189 193
190 for _ in range(options.jobs): 194 for _ in range(options.jobs):
191 t = threading.Thread(target=_Worker) 195 t = threading.Thread(target=_Worker)
192 t.daemon = True 196 t.daemon = True
193 t.start() 197 t.start()
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 binaries |= new_deps 249 binaries |= new_deps
246 queue.extend(list(new_deps)) 250 queue.extend(list(new_deps))
247 251
248 GenerateSymbols(options, binaries) 252 GenerateSymbols(options, binaries)
249 253
250 return 0 254 return 0
251 255
252 256
253 if '__main__' == __name__: 257 if '__main__' == __name__:
254 sys.exit(main()) 258 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698