Home | History | Annotate | Download | only in tools
      1 #!/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 
     17 import os
     18 import os.path
     19 import re
     20 import string
     21 import sys
     22 
     23 sys.path.insert(0, os.path.dirname(__file__) + "/../../development/scripts")
     24 import stack_core
     25 import symbol
     26 
     27 if __name__ == '__main__':
     28   # pass the options to adb
     29   adb_cmd  = "adb " + ' '.join(sys.argv[1:])
     30 
     31   # create tracer for line parsing
     32   tracer = stack_core.TraceConverter()
     33 
     34   # invoke the adb command and filter its output
     35   stream = os.popen(adb_cmd)
     36   while (True):
     37     line = stream.readline()
     38     if (line == ''):
     39       break
     40     if(tracer.ProcessLine(line) == False):
     41       print(line.strip())
     42       sys.stdout.flush()
     43 
     44   # adb itself aborts
     45   stream.close()
     46