Chromium Code Reviews| Index: sky/tools/skydb |
| diff --git a/sky/tools/skydb b/sky/tools/skydb |
| index 02c92412bb7335cc860e284fd29e57b463016eab..86c7243f9a491f112f992ebd4e785f12693f792a 100755 |
| --- a/sky/tools/skydb |
| +++ b/sky/tools/skydb |
| @@ -3,7 +3,6 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| -import skypy.paths |
| from skypy.skyserver import SkyServer |
| import argparse |
| import json |
| @@ -12,6 +11,8 @@ import os |
| import pipes |
| import requests |
| import signal |
| +import skypy.paths |
| +import StringIO |
| import subprocess |
| import sys |
| import time |
| @@ -318,7 +319,7 @@ class SkyDebugger(object): |
| 'MojoShellApplication', |
| 'chromium', |
| ] |
| - subprocess.call(['adb', 'logcat', '-s'] + TAGS) |
| + subprocess.call(['adb', 'logcat', '-d', '-s'] + TAGS) |
|
eseidel
2015/01/13 22:58:02
This makes skydb logcat exit immediately insetead
|
| def gdb_attach_command(self, args): |
| self.paths = self._create_paths_for_build_dir(self.pids['build_dir']) |
| @@ -331,6 +332,16 @@ class SkyDebugger(object): |
| # gdb and let it take the entire process. |
| os.execv(gdb_command[0], gdb_command) |
| + def print_crash_command(self, args): |
| + logcat_cmd = ['adb', 'logcat', '-d'] |
| + logcat = subprocess.Popen(logcat_cmd, stdout=subprocess.PIPE) |
| + |
| + stack_path = os.path.join(SRC_ROOT, |
| + 'tools', 'android_stack_parser', 'stack') |
| + stack = subprocess.Popen([stack_path, '-'], stdin=logcat.stdout) |
| + logcat.wait() |
| + stack.wait() |
| + |
| def main(self): |
| logging.basicConfig(level=logging.INFO) |
| logging.getLogger("requests").setLevel(logging.WARNING) |
| @@ -362,6 +373,10 @@ class SkyDebugger(object): |
| help=('dump sky-related logs from device')) |
| logcat_parser.set_defaults(func=self.logcat_command) |
| + print_crash_parser = subparsers.add_parser('print_crash', |
| + help=('dump (and symbolicate) recent crash-stacks')) |
| + print_crash_parser.set_defaults(func=self.print_crash_command) |
| + |
| gdb_attach_parser = subparsers.add_parser('gdb_attach', |
| help='launch gdb and attach to gdbserver launched from start --gdb') |
| gdb_attach_parser.set_defaults(func=self.gdb_attach_command) |