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
17import os
18import os.path
19import re
20import string
21import sys
22
23sys.path.insert(0, os.path.dirname(__file__) + "/../../development/scripts")
24import stack_core
25import symbol
26
27if __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