微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > user/userdebug模式下如何打开ANR predump的Debug开关

user/userdebug模式下如何打开ANR predump的Debug开关

时间:10-02 整理:3721RD 点击:

[DESCRIPTION]

在解决ANR问题的过程中,可能会碰到Log不足或者backtrace不准确的情况。那么可以通过ANR的
predump机制帮我们打印出在ANR还未发生之前,即timeout一半的时候的backtrace,或者当时的进
程的historymessage信息,来帮助我们解决ANR的问题

[SOLUTION]

ANR predump 的方法,根据需要选择其一:
方法一:动态执行adb shell 命令
adb shell dumpsys activity log anr 2 (命令重启后无效)
方法二:修改代码,适合需要重启手机或者开机阶段的时候的ANR
/php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
public void systemReady(final Runnable goingCallback) {
……
ANRManager.AnrOption = 2;
/*
if (IS_USER_BUILD && 0 == anrStatus) {
Settings.System.putInt(mContext.getContentResolver(),
Settings.System.ANR_DEBUGGING_MECHANISM,
mANRManager.DISABLE_PARTIAL_ANR_MECHANISM);
ANRManager.AnrOption = mANRManager.DISABLE_PARTIAL_ANR_MECHANISM;
Settings.System.putInt(mContext.getContentResolver(),
Settings.System.ANR_DEBUGGING_MECHANISM_STATUS, 1);
}
/// Enable/disable ANR mechanism fROM adb command @}
*/
……

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top