blob: 9bd51604566dd74fe28ed365fa181fbc26c71545 [file] [log] [blame]
Ben Chengab007ef2009-08-11 11:15:26 -07001#!/usr/bin/env python
2
3# Copyright (C) 2009 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the 'License');
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an 'AS IS' BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
Anthony Kingc713d762015-11-03 00:23:11 +000017from __future__ import print_function
18
Ben Chengab007ef2009-08-11 11:15:26 -070019import os
Brigid Smith90c66cf2014-06-30 17:21:27 -070020import os.path
Ben Chengab007ef2009-08-11 11:15:26 -070021import re
22import string
23import sys
24
Brigid Smith90c66cf2014-06-30 17:21:27 -070025sys.path.insert(0, os.path.dirname(__file__) + "/../../development/scripts")
26import stack_core
27import symbol
Ben Chengab007ef2009-08-11 11:15:26 -070028
29if __name__ == '__main__':
30 # pass the options to adb
31 adb_cmd = "adb " + ' '.join(sys.argv[1:])
32
Brigid Smith90c66cf2014-06-30 17:21:27 -070033 # create tracer for line parsing
34 tracer = stack_core.TraceConverter()
Ben Chengab007ef2009-08-11 11:15:26 -070035
36 # invoke the adb command and filter its output
37 stream = os.popen(adb_cmd)
38 while (True):
39 line = stream.readline()
Ben Chengab007ef2009-08-11 11:15:26 -070040 if (line == ''):
41 break
Brigid Smith90c66cf2014-06-30 17:21:27 -070042 if(tracer.ProcessLine(line) == False):
43 print(line.strip())
Andy McFadden9611ceb2009-08-31 13:38:35 -070044 sys.stdout.flush()
Ben Chengab007ef2009-08-11 11:15:26 -070045
46 # adb itself aborts
47 stream.close()