From https://www.jianshu.com/p/6dba42c022a9
Call Stack
13361 Slog.i(TAG, "System now ready");
13362 EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_AMS_READY,
13363 SystemClock.uptimeMillis());
13364 Slog.w(TAG, "yuan-trace ActivityManagerService systemReady, Stack==",
13365 new RuntimeException("yuan-debug"));
debug 技术说明
汇总下分析该问题时,汇集的一些debug技术。
java代码中打印堆栈 Slog.d("azhengye", "Stack=="+new RuntimeException("azhengye debug").fillInStackTrace());
或者new Exception("print stack").printStackTrace(); 然后log中搜索"System.err:"
c++ debug: 为了在native查看函数调用栈可以在需要的地方添加如下代码。
include <utils/CallStack.h>
android::CallStack stack;
stack.update();
String8 strtemp = stack.toString("");
ALOGD("\t%s", strtemp.string());
过滤出的log还需要用arm-linux-androideabi-addr2line转行下,好在有现成的脚本帮我们做这件事,这里一并贴出来。
作者:小草凡
链接:https://www.jianshu.com/p/6dba42c022a9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。