一个典型的logcat输出比如这样:
E/InetAddress( 1561): 1name=ipv6.google.com
E/InetAddress( 1561): ipv6.google.com is an alias for ipv6.l.google.com
E/InetAddress( 1561): y.a=72.14.203.121
E/InetAddress( 1561): name=ipv6.google.com
E/InetAddress( 1561): -------------- return from InetAddress_getaddrinfoImpl ----------------
E/Tab ( 1561): onReceivedError -2 http://ipv6.google.com/ The URL could not be found.
D/dalvikvm( 1561): GC_EXTERNAL_ALLOC freed 5689 objects / 285736 bytes in 38ms
D/dalvikvm( 1437): GC_EXPLICIT freed 668 objects / 60408 bytes in 25ms显示了tag和进程信息,能不能通过这些信息快速地定位出到底是哪个文件输出的信息?
比如查看Tab是哪个文件拥有的tag?(我知道是packages/apps/Browser/src/com/android/browser/Tab.java,这里是举个例子,求问一个定位的方法)或者查看1561这个进程当前是哪个文件在调用?能有什么命令或者方法做到这些吗?其实我想知道的是,红色这行是某文件调用了Tab.java中的一个方法的输出,但是不知道怎么确定这个文件是哪个文件??
E/InetAddress( 1561): 1name=ipv6.google.com
E/InetAddress( 1561): ipv6.google.com is an alias for ipv6.l.google.com
E/InetAddress( 1561): y.a=72.14.203.121
E/InetAddress( 1561): name=ipv6.google.com
E/InetAddress( 1561): -------------- return from InetAddress_getaddrinfoImpl ----------------
E/Tab ( 1561): onReceivedError -2 http://ipv6.google.com/ The URL could not be found.
D/dalvikvm( 1561): GC_EXTERNAL_ALLOC freed 5689 objects / 285736 bytes in 38ms
D/dalvikvm( 1437): GC_EXPLICIT freed 668 objects / 60408 bytes in 25ms显示了tag和进程信息,能不能通过这些信息快速地定位出到底是哪个文件输出的信息?
比如查看Tab是哪个文件拥有的tag?(我知道是packages/apps/Browser/src/com/android/browser/Tab.java,这里是举个例子,求问一个定位的方法)或者查看1561这个进程当前是哪个文件在调用?能有什么命令或者方法做到这些吗?其实我想知道的是,红色这行是某文件调用了Tab.java中的一个方法的输出,但是不知道怎么确定这个文件是哪个文件??
E/Tab ( 1561): onReceivedError -2 http://ipv6.google.com/ The URL could not be found.E:是error,表示Log.e 打出来的。
Tab:是某个java文件里,开头 private static final String TAG = "Tab";
那么Tab就作为标志信息显示出来
1561: 是进程号类似的东西,对于我们没有直接利用价值。
onReceivedError -2 http://ipv6.google.com/ The URL could not be found. :则是输出信息,在你的那个.java文件里会找的到打印这句的代码的。
find -name *.java |xargs grep ”Tab“ 我先只告诉你这么多吧 自己探究把
话说我经常这样:grep -r "TAB" * > ./???.txt 跟你的那条命令有什么区别吗?
这些调试语句都是原来写好的,不是我自己写的
谢谢大家!