2018-06-29 AOSP debug 技術說明

weixin_34148340發表於2018-06-29

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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。

相關文章