吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SWT手機(jī)重啟問題分析指南

哆啦安全 ? 來源: 程序員Android ? 2023-07-24 16:45 ? 次閱讀

一、 SWT 手機(jī)重啟問題簡介

SWT(Software Watch Dog )主要用來監(jiān)控SystemServer等重要線程/Service的運(yùn)行情況。如果發(fā)現(xiàn)其阻塞超過60s,看門狗進(jìn)程就會把系統(tǒng)重啟,進(jìn)而保證系統(tǒng)可以恢復(fù)到正常狀態(tài)。

判斷阻塞的方法有如下兩種。

1.利用 Services 注冊monitor 去Check

主要是:AMS、Foreground Thread

2. 發(fā)送handler 到重要的Loop 線程來Check 是否阻塞。

主要是:Main Thread、UI Thread、IO Thread、Display Thread、WMS、Other Services。

3.SWT 判斷阻塞的方法

0ff15fd2-29fe-11ee-a368-dac502259ad0.jpg

SWT 判斷阻塞的方法

二、 SWT 手機(jī)重啟問題處理流程

SWT 處理流程:

1.每半分鐘30scheck 一次system_server 進(jìn)程

檢查系統(tǒng)是否卡住,如果卡住,dump一次system_server的backtrace

2.一分鐘卡住后kill,并重新計(jì)數(shù)

如果卡住,第二次dump,并kill掉system_server進(jìn)程 ,否則重新計(jì)時(shí)。

3.SWT 處理大致流程如下

1015c2dc-29fe-11ee-a368-dac502259ad0.jpg

SWT 處理流程

三、 SWT 手機(jī)重啟問題的原因

導(dǎo)致SWT重啟原因的原因有很多種。

1.主要導(dǎo)致的原因如下:

103857c0-29fe-11ee-a368-dac502259ad0.jpg

檢查SWT 原因分類

四、 SWT 手機(jī)重啟問題分析流程

首先搜索關(guān)鍵watchdog,查看是否有重啟發(fā)生。

105c85a0-29fe-11ee-a368-dac502259ad0.jpg

SWT 流程分析

五、SWT 手機(jī)重啟問題分析舉例

1.分析 trace ,確認(rèn)線程關(guān)系

線程被Block搜索關(guān)鍵字held by

1091bec8-29fe-11ee-a368-dac502259ad0.jpg

確認(rèn)線程關(guān)系

2.線程被 Waiting 結(jié)合代碼分析。

10bbeaea-29fe-11ee-a368-dac502259ad0.jpg

確認(rèn)線程關(guān)系

3.線程死鎖

確認(rèn)Block的線程是否有閉環(huán)的死鎖關(guān)系。

10def724-29fe-11ee-a368-dac502259ad0.jpg

線程死鎖

11153190-29fe-11ee-a368-dac502259ad0.jpg

線程死鎖

4.Binder的Server 端卡住

線程狀態(tài)Native,并且callstack中含有一對

IPCThreadState::waitForResponse
IPCThreadState::talkWithDriver
的明顯特征。

113f649c-29fe-11ee-a368-dac502259ad0.jpg

Bind的Server端卡住

116fc5ce-29fe-11ee-a368-dac502259ad0.jpg

Bind的Server端卡住

5.SurfaceFlinger 卡住導(dǎo)致重啟

搜索關(guān)鍵字I watchdog,
查看是否有surfaceflinger hang,默認(rèn)卡住40s,就會重啟。

1199f772-29fe-11ee-a368-dac502259ad0.jpg

SurfaceFlinger 卡住

6.Native 方法執(zhí)行時(shí)間過長導(dǎo)致重啟

線程狀態(tài)Native,查看是否有
PowerManagerService.nativeSetAutoSuspend

11b87fd0-29fe-11ee-a368-dac502259ad0.jpg

Native 方法執(zhí)行時(shí)間過長

7.Zygote Fork 進(jìn)程時(shí)卡住

線程狀態(tài)Native,查看是否有
Process.zygoteSendArgsAndGetResult

11d39c48-29fe-11ee-a368-dac502259ad0.jpg

Zygote Fork 進(jìn)程時(shí)卡住

8.Dump 時(shí)間過長

Dump超過60s可能會引起手機(jī)重啟。
搜索關(guān)鍵字dumpStackTraces或dumpStackTraces process

11f5a43c-29fe-11ee-a368-dac502259ad0.jpg

Dump 時(shí)間過長

9.前面有ANR 發(fā)生

121e0440-29fe-11ee-a368-dac502259ad0.jpg

前面有ANR 發(fā)生

12440cbc-29fe-11ee-a368-dac502259ad0.jpg

前面有ANR 發(fā)生

10.前面有fatal JE NE KE 等Exception發(fā)生

125ef932-29fe-11ee-a368-dac502259ad0.jpg

前面有fatal JE NE KE 等Exception發(fā)生

11.自動化測試腳本有call dumpsys 去dump 系統(tǒng)信息

12823640-29fe-11ee-a368-dac502259ad0.jpg

自動化測試腳本有call dumpsys 去dump 系統(tǒng)信息

六、 Android O以上導(dǎo) Log 注意事項(xiàng)

Android O以上的mtklog和db不在同一個(gè)目錄,需要執(zhí)行以下adb命令 導(dǎo)Log.

//1. 導(dǎo) MTK log 
adb pull /sdcard/mtklog
//2. 導(dǎo) AEE log,如果沒有,請執(zhí)行第3步
 adb pull /data/aee_exp
//3.導(dǎo) data 下MTK緩存 的aee log
 adb pull /data/vendor/mtklog/aee_exp

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 手機(jī)
    +關(guān)注

    關(guān)注

    35

    文章

    6898

    瀏覽量

    158269
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    566

    瀏覽量

    70949
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    505

    瀏覽量

    19758
  • SWT
    SWT
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6638

原文標(biāo)題:六、 Android O以上導(dǎo) Log 注意事項(xiàng)

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SPC57 SWT靜止不動

    嗨,大家好,我想用swt。我的初始代碼:SWT.SR.R = 0xC520; SWT.SR.R = 0xD928;而(SWT.CR.B.SLK == 0x1);
    發(fā)表于 11-30 14:38

    多載波SWT測量PXA怎么使用

    這是關(guān)于使用PXA的多載波GSM測量。在SWT / EVM菜單中,注意到“Carrier BPF Auto,Single and Multi”選項(xiàng)。你能解釋一下嗎?注意到在啟用此載波BPF的情況下
    發(fā)表于 05-30 12:54

    是什么原因?qū)е?b class='flag-5'>手機(jī)不斷重啟

    是什么原因?qū)е?b class='flag-5'>手機(jī)不斷重啟呢?我們來分析一下:現(xiàn)象手機(jī)啟動,出現(xiàn)第一屏畫面,然后黑屏,繼續(xù)啟動,出現(xiàn)第一屏畫面,然后黑屏……原因手機(jī)系統(tǒng)為電
    發(fā)表于 09-14 09:04

    長按電源鍵10S強(qiáng)制重啟手機(jī)優(yōu)化

    相信大家都習(xí)慣了長按電源鍵10S強(qiáng)制重啟手機(jī),但方便的同時(shí),也有很多小伙伴吐槽在使用手機(jī)殼,或手機(jī)放在口袋時(shí)容易誤觸導(dǎo)致重啟。因此,不少粉絲
    發(fā)表于 12-27 06:07

    S32K3x4EVB-Q257 SWT會無限期地重置怎么解決?

    你好。我有一個(gè) SWT 配置如下圖所示。當(dāng)我維修 SWT 時(shí),它按預(yù)期工作。溫我故意不刷新SWT來證明它可以重置軟件執(zhí)行,它確實(shí)重置了,但連續(xù)只有8次。8 次后,它不再復(fù)位,微控制器似乎沒有運(yùn)行任何
    發(fā)表于 03-21 08:49

    MPC5777C swt_1在swt_0工作時(shí)不工作怎么解決?

    我使用 MPC5777C。我正在使用我為 swt_0 所做的配置來配置 swt_1。但是 swt_1 在 swt_0 工作時(shí)不工作。我也希望 swt
    發(fā)表于 04-20 06:27

    MPC5777C可以更改swt1的時(shí)鐘速度嗎?

    我正在使用 MPC5777C。 我可以更改 swt1 的時(shí)鐘速度嗎?SWT 正在使用 16MHz IRC。我可以將它更改為 8Mhz 或其他嗎?
    發(fā)表于 05-05 10:22

    S32R294的SWT jd_watchpt怎么使用?

    我考慮過帶有 jd_Watchpt(IAC8 寄存器)的 S32R294 SWT 可以為安全機(jī)制實(shí)施“程序序列的邏輯監(jiān)控”。 根據(jù)S32R294參考手冊Chapter 48.1.4,SWT地址執(zhí)行
    發(fā)表于 05-17 08:52

    SWT133 環(huán)路中繼接口電路

    SWT133 環(huán)路中繼接口電路采用傳統(tǒng)變壓器藕合方案,具有防雷擊效果好、極小的信號失真、極高的共模抑制比以及理想的對地平衡度;同時(shí),采用新型音頻變壓器材料,在不降低傳輸
    發(fā)表于 05-06 09:43 ?39次下載

    基于SWT的多線程解決方案

    介紹了在基于 SWT 的C / S 結(jié)構(gòu)的項(xiàng)目開發(fā)中,當(dāng)用UI 主線程進(jìn)行后臺數(shù)據(jù)讀取或交換時(shí)導(dǎo)致的UI 線程堵塞現(xiàn)象的解決方案。通過對UI 線程的深入了解,利用多線程技術(shù),將前臺顯示和后
    發(fā)表于 06-07 17:08 ?0次下載

    蘋果手機(jī)經(jīng)常死機(jī)或自動重啟應(yīng)該如何解決

    iphone手機(jī)自動重啟怎么辦? 相信很多蘋果用戶可能有時(shí)會遇到過手機(jī)自動關(guān)機(jī)重啟的問題,明明手機(jī)是開機(jī)的,但是突然就自動關(guān)機(jī)
    的頭像 發(fā)表于 11-23 10:47 ?5.5w次閱讀

    華為或?qū)?b class='flag-5'>重啟4G手機(jī)生產(chǎn)?

    華為有意重啟4G手機(jī)生產(chǎn),因4G手機(jī),依然大有可為。以退為進(jìn),不管是國內(nèi),還是國外,其實(shí)4G手機(jī)的消費(fèi)需求也不小。
    發(fā)表于 11-24 11:33 ?2897次閱讀

    教你們?nèi)绾谓鉀QMTK平臺手機(jī)重啟問題

    目前采用MTK平臺開發(fā)的GSM單卡單待機(jī)器和雙卡雙待機(jī)器的設(shè)計(jì)過程中經(jīng)常出現(xiàn)手機(jī)重啟(重新搜索網(wǎng)絡(luò))的現(xiàn)象。本文針
    的頭像 發(fā)表于 04-05 08:46 ?2871次閱讀
    教你們?nèi)绾谓鉀QMTK平臺<b class='flag-5'>手機(jī)</b><b class='flag-5'>重啟</b>問題

    使用Pmod HB3和Pmod SWT控制電機(jī)

    電子發(fā)燒友網(wǎng)站提供《使用Pmod HB3和Pmod SWT控制電機(jī).zip》資料免費(fèi)下載
    發(fā)表于 01-05 09:35 ?0次下載
    使用Pmod HB3和Pmod <b class='flag-5'>SWT</b>控制電機(jī)

    手機(jī)卡頓,重啟和關(guān)機(jī)再開,差別竟有這么大!

    說起使用手機(jī)時(shí)最令人難受的事兒想必手機(jī)卡頓一定名列前茅當(dāng)出現(xiàn)這種情況,很多小伙伴都會選擇將手機(jī)重啟或者關(guān)機(jī)再開機(jī)那么你知道二者之間有哪些區(qū)別嗎?今天,小翼說給你聽~
    的頭像 發(fā)表于 07-22 16:00 ?1569次閱讀
    <b class='flag-5'>手機(jī)</b>卡頓,<b class='flag-5'>重啟</b>和關(guān)機(jī)再開,差別竟有這么大!
    七胜百家乐娱乐网| 金臂百家乐开户送彩金| 阴宅风水24山分房| 百家乐tt娱乐平台| 大发888游戏官方| 必博| 百家乐官网视频游戏金币| 百家乐官网打法心得| 赌神网百家乐官网的玩法技巧和规则 | 百家乐群lookcc| 八大胜博彩| 澳门百家乐官网看路博客| 环球百家乐官网的玩法技巧和规则 | 太原百家乐官网的玩法技巧和规则| 闲和庄百家乐官网娱乐城| 神人百家乐赌场| 玩德州扑克技巧| 百家乐官网游戏官网| 赌博百家乐官网下载| 风水学中的24向是什么| 雅加达百家乐的玩法技巧和规则 | 贝博百家乐官网的玩法技巧和规则| 百家乐白茫茫| 大发在线扑克| 乐宝百家乐官网的玩法技巧和规则| 正品百家乐地址| 大发888开户注册网站| 百家乐官网有没有稳赢| 24山 分金 水口 论 吉凶| 威尼斯人娱乐场老品牌| 永利百家乐官网现金网| 金百家乐博彩公司| 德州扑克发牌视频| 百家乐官网赌博策略论坛| 澳门百家乐登陆网址| 皇城百家乐娱乐城| 宾利百家乐官网现金网| 家百家乐破解软件| 盛世国际投注| 百家乐官网玩法官网| 六合彩今天开什么|