blob: a8f06c04ef339ec5bc5a935e0ca4947eb891631a [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
17import os
Brigid Smith90c66cf2014-06-30 17:21:27 -070018import os.path
Ben Chengab007ef2009-08-11 11:15:26 -070019import re
20import string
21import sys
22
Brigid Smith90c66cf2014-06-30 17:21:27 -070023sys.path.insert(0, os.path.dirname(__file__) + "/../../development/scripts")
24import stack_core
25import symbol
Ben Chengab007ef2009-08-11 11:15:26 -070026
27if __name__ == '__main__':
28 # pass the options to adb
29 adb_cmd = "adb " + ' '.join(sys.argv[1:])
30
Brigid Smith90c66cf2014-06-30 17:21:27 -070031 # create tracer for line parsing
32 tracer = stack_core.TraceConverter()
Ben Chengab007ef2009-08-11 11:15:26 -070033
34 # invoke the adb command and filter its output
35 stream = os.popen(adb_cmd)
36 while (True):
37 line = stream.readline()
Ben Chengab007ef2009-08-11 11:15:26 -070038 if (line == ''):
39 break
Brigid Smith90c66cf2014-06-30 17:21:27 -070040 if(tracer.ProcessLine(line) == False):
41 print(line.strip())
Andy McFadden9611ceb2009-08-31 13:38:35 -070042 sys.stdout.flush()
Ben Chengab007ef2009-08-11 11:15:26 -070043
44 # adb itself aborts
45 stream.close()