java打印调用栈获取代码执行流程
当在定位问题或者查看该方法执行的时候是如何调用过来的,可以使用下面的方式打印出代码的调用栈查看是如何调用到这里的:
android.util.Log.i(TAG, " stacktrace " + android.util.Log.getStackTraceString(new Throwable()));
// 通过下面的方法,可以获取到每一个调用栈中的stackelement
StackTraceElement[] stackTraceElement = new Throwable().getStackTrace();
// 获取到StackTraceElement后,StackTraceElement中可以获取到方法名,类名等
stackTraceElement[0].getLineNumber();
stackTraceElement[0].getClassName();
stackTraceElement[0].getMethodName();
stackTraceElement[0].isNativeMethod();
find命令的使用
find命令用来在指定目录下查找文件
- find 路径 -name name
该命令会在该路径下查找名称满足name的文件 - find 路径 -iname name
作用与-name相同,只不过查找的时候会忽略大小写去查找 - find 查找的时候指定查找目标类型
-type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
find . -type d -name “*arenginesdk*” // 查找文件名称中包含 arengine 的目录
Android过滤不想看的日志
看日志的过程中总有一些人写的代码加了很多一直打印的无用的日志,可以使用下面的tag过滤掉无用的日志,这样logcat界面就会清爽多了(要勾选过滤条件为regex这样才能使用下面的正则表达式)
不显示带MTRlog的TAG:
^(?!.(MRT)).$
或者也可以多加几个tag :
^(?!.(MRT|MRT1|MRT2)).$
使用 grep 命令在当前文件目录下根据关键字查找内容
参数:
-n : 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
例如:grep ./ -r -n “arengine”
在dir目录查找符合正则表达式 pattern 的行。

342

被折叠的 条评论
为什么被折叠?



