ããä¸è¬å¨å¹³æ¶å·¥ä½ä¸ï¼åºæ¬ä¸å¾å¤ä»£ç å¯ä»¥å¨eclipse+ndkè¿è¡è°è¯ï¼ä½å¦æéè¦ç¨å°å
·ä½ç硬件设å¤ï¼å¦åªä½ææ¾è®¾å¤æ æ³æ¨¡æçæ
åµä¸ï¼åªè½ä¸ç¡¬ä»¶(çåæææº)ä¸è¿è¡è°è¯ãæ¤æ¶å¯ä¸çè°è¯æ段就æ¯logcat产çlogä¿¡æ¯è¿è¡åæé®é¢äºã
ããä»ä¹æ¶åä¼æLogæ件ç产ç ?ä¸è¬å¨å¦ä¸å ç§æ
åµä¼äº§çlogæ件 ã
ãã1ãç¨åºå¼å¸¸éåº uncaused exception
ãã2ãç¨åºå¼ºå¶å
³é Force Closed (ç®ç§°FC)
ãã3ãç¨åºæ ååº Application No Response(ç®ç§°ANR),ä¸è¬ä¸»çº¿ç¨è¶
è¿5ç§ä¹æå¤çå°±ä¼ANR
ãã4ãæå¨çæ
ããè¿å
¥æ§å¶å°è¾å
¥ï¼logcatå½ä»¤å³å¯è¿è¡è¾åº
ãã第ä¸é¨å
ãã1ãåæå·¥å
·ä»ç»
ããaãcat /proc/meminfo æ¾ç¤ºåºæ¬çå
åä¿¡æ¯
ãã------ MEMORY INFO (/proc/meminfo) ------
ããMemTotal: 285184 kB
ããMemFree: 106360 kB
ããBuffers: 0 kB
ããCached: 60036 kB
ããSwapCached: 0 kB
ããActive: 98160 kB
ããInactive: 49100 kB
ããActive(anon): 87260 kB
ããInactive(anon): 288 kB
ããActive(file): 10900 kB
ããInactive(file): 48812 kB
ããUnevictable: 0 kB
ããMlocked: 0 kB
ããSwapTotal: 0 kB
ããSwapFree: 0 kB
ããDirty: 0 kB
ããWriteback: 0 kB
ããAnonPages: 87240 kB
ããMapped: 26500 kB
ããShmem: 324 kB
ããSlab: 13340 kB
ããSReclaimable: 1672 kB
ããSUnreclaim: 11668 kB
ããKernelStack: 2160 kB
ããPageTables: 5600 kB
ããNFS_Unstable: 0 kB
ããBounce: 0 kB
ããWritebackTmp: 0 kB
ããCommitLimit: 142592 kB
ããCommitted_AS: 1065600 kB
ããVmallocTotal: 417792 kB
ããVmallocUsed: 137700 kB
ããVmallocChunk: 254980 kB
ããéç¹å
³æ³¨è¿ä¸é¢å 个å¼ï¼
ããMemTotal: 285184 kB //æ»è®¡ç©çå
åç大å°
ããMemFree: 106360 kB //å¯ç¨å
åæå¤å°
ããBuffers: 0 kB //ç£çç¼åå
åç大å°
ããCached: 60036 kB
ãã# free
ããfree
ããtotal used free shared buffers
ããMem: 285184 178884 106300 0 0
ããSwap: 0 0 0
ããTotal: 285184 178884 106300
ããå¨linuxä¸æè¿ä¹ä¸ç§ææ³ï¼å
åä¸ç¨ç½ä¸ç¨ï¼å æ¤å®å°½å¯è½çcacheåbufferä¸äºæ°æ®ï¼ä»¥æ¹ä¾¿ä¸æ¬¡ä½¿ç¨ã
ããä½å®é
ä¸è¿äºå
åä¹æ¯å¯ä»¥ç«å»æ¿æ¥ä½¿ç¨çã
ããæ以空é²å
å=free+buffers+cached=total-used
ããè¿æå 个å½ä»¤å¯ä½¿ç¨ï¼
ãã/proc/meminfo æºå¨çå
å使ç¨ä¿¡æ¯
ãã/proc/pid/maps pid为è¿ç¨å·ï¼æ¾ç¤ºå½åè¿ç¨æå ç¨çèæå°åã
ãã/proc/pid/statm è¿ç¨æå ç¨çå
å
ããbãæ¥çè¿ç¨ä¿¡æ¯
ãã------ CPU INFO (top -n 1 -d 1 -m 30 -t) ------
ããè½å¤å®æ¶æ¾ç¤ºç³»ç»ä¸å个è¿ç¨çèµæºå ç¨ç¶åµï¼ç±»ä¼¼äº Windows çä»»å¡ç®¡çå¨
ããcãandroidæä¾çä¸äºæä½å·¥å
·
ãã------ PROCRANK (procrank) ------
ãã------ PROCMEM (procmem) ------
ãã------ SHOWMAP (showmap) ------
ãã... å°±ä¸ä¸ä¸å举äºï¼æå
´è¶£çæåå¯ä»¥å»çç
ããè¿æ¤å·¥å
·ç代ç ä½äºandroidç /system/extras
ããdãèæå
åçæ¥çå·¥å
·
ãã------ VIRTUAL MEMORY STATS (/proc/vmstat) ------
ãã------ VMALLOC INFO (/proc/vmallocinfo) ------
ãã2ãæ¶é´ä¿¡æ¯,ä¹æ¯æ们主è¦åæçä¿¡æ¯
ããæ ¼å¼å¦ä¸ï¼
ãã------ SYSTEM LOG (logcat -b system -v time -d *:v) ------
ãã$:logcat -b system -v time -d *:v
ãã01-02 08:00:02.570 I/SystemServer( 957): Notification Manager
ãã01-02 08:00:02.570 I/SystemServer( 957): Device Storage Monitor
ãã01-02 08:00:02.580 I/SystemServer( 957): Location Manager
ãã01-02 08:00:02.580 I/SystemServer( 957): Search Service
ãã01-02 08:00:02.590 I/SystemServer( 957): DropBox Service
ãã01-02 08:00:02.590 I/SystemServer( 957): Wallpaper Service
ãã3ãèææºä¿¡æ¯,å
æ¬è¿ç¨ç,线ç¨çè·è¸ªä¿¡æ¯,è¿æ¯ç¨æ¥è·è¸ªè¿ç¨å线ç¨å
·ä½ç¹ç好å°æ¹ ã
ãã------ VM TRACES JUST NOW (/data/anr/traces.txt.bugreport: 2011-01-15 16:49:02) ------
ãã------ VM TRACES AT LAST ANR (/data/anr/traces.txt: 2011-01-15 16:49:02) ------
ããæ ¼å¼å¦ä¸ ï¼
ãã----- pid 1516 at 1970-01-02 08:03:07 -----
ããCmd line: com.ipanel.join.appstore
ããDALVIK THREADS:
ãã(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
ãã"main" prio=5 tid=1 NATIVE
ãã| group="main" sCount=1 dsCount=0 obj=0x4001f188 self=0xd028
ãã| sysTid=1516 nice=0 sched=3/0 cgrp=[fopen-error:2] handle=-1345017744
ãã第äºé¨å
ããå¦ä½åælogä¿¡æ¯
ãã1ãæ¥æ¾é误信æ¯çå
³é®åç¼
ãã"error" "failxx" "E/" ççé误信æ¯
ããå°è¿äºé®é¢å
è¡è§£å³æ
ãã2ãå¨æåºæ»æº
ããæ¥ç类似çâBuild fingerprint:âè¿äºå
³é®å
ããI/DEBUG ( 692): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
ããI/DEBUG ( 692): Build fingerprint: 'generic/generic/generic:2.3.1/GRH78/eng.userdev-rd6-input.20120221.113348:eng/test-keys'
ããI/DEBUG ( 692): pid: 694, tid: 694 >>> /system/bin/mediaserver <<<
ããI/DEBUG ( 692): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000input module init -->
ãã010
ãã对äºè¿æ¤ä¿¡æ¯ï¼å¯ä»¥æ¥çå¨æåºçåæï¼
ãã
http://blog.csdn.net/andyhuabing/article/details/7074979ãã3ã解å³javaæå¼å¸¸çé®é¢è§£å³
ããE/UsbObserver( 957): java.lang.NullPointerException
ããE/UsbObserver( 957): at com.android.server.UsbObserver.init(UsbObserver.java:131)
ããE/UsbObserver( 957): at com.android.server.UsbObserver.<init>(UsbObserver.java:65)
ããE/UsbObserver( 957): at com.android.server.ServerThread.run(SystemServer.java:419)
ããI/SystemServer( 957): UI Mode Manager Service
ããè¿ä¸ªç´æ¥æ¾å°java代ç ï¼åæå
¶å®ç°å³å¯è§£å³
ãã4ãANRé®é¢
ããæç´¢âANRâå
³é®è¯ï¼å¿«éå®ä½å°å
³é®äºä»¶ä¿¡æ¯ ã
ããå®ä½å°å
³é®çäºä»¶ä¿¡æ¯å¦ä¸:
ããI/dalvikvm( 1014): Wrote stack traces to '/data/anr/traces.txt'
ããI/Process ( 957): Sending signal. PID: 1124 SIG: 9
ããæå®åªä¸ªjavaå
åºé®é¢
ããE/ActivityManager( 957): ANR in com.ipanel.join.appstore
ããè¿ç¨å·ä¸º957åçäºå¦ä¸é误ï¼com.ipanel.join.appstore å
ä¸é¢ Broadcasté®é¢
ããANRåå ï¼
ããE/ActivityManager( 957): Reason: Broadcast of Intent { act=android.appwidget.action.APPWIDGET_UPDATE cmp=com.ipanel.join.appstore/.widget.SmallWidget1 (has extras) }
ããè¿æ¯ANRçå æ è°ç¨æ件
ããI/dalvikvm( 1014): Wrote stack traces to '/data/anr/traces.txt'
ããéè¿ä¸é¢çlogä¿¡æ¯åæï¼åºè¯¥æ¯æ¥æ¶ä¸ä¸ªå¹¿ææ¶æ¯æ¶è¶
æ¶äº
ããæ们ååæèææºä¿¡æ¯ ï¼æå¼/data/anr/traces.txt,å¯æéè¿adb pull /data/anr/traces.txt .
ããè¿éæ¯ä¸æ®µé½æ¯ä¸ä¸ªçº¿ç¨ ï¼å½ç¶æ们è¿æ¯ç线ç¨å·ä¸º1ç主线ç¨äºãéè¿åæåç°å
³é®é®é¢æ¯è¿æ ·ï¼
ããæç´¢âDALVIK THREADSâå
³é®è¯ï¼å¿«éå®ä½å°æ¬åºç¨ç¨åºçèææºä¿¡æ¯æ¥å¿
ãã----- pid 1516 at 1970-01-02 08:03:07 -----
ããCmd line: com.ipanel.join.appstore
ããDALVIK THREADS:
ããã
ããat com.ipanel.join.appstore.widget.AbsSmallWidget.getRemoteViews(AbsSmallWidget.java:56)
ããå
¶å®ä»è¿å¥è¯ï¼
ããat org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
ããåºæ¬ä¸ç¡®è®¤æ¯ socket ->connect è¿æ¥è¶
æ¶äºï¼å¯¼è´ä¸»çº¿ç¨5så
没æååºä»è产çANRé误ãé»è®¤çconnectè¿æ¥timeoutæ¶é´æ¯75s
ããå
¶å®è§£å³åæ³å°±æ¯å©ç¨éé»å¡æ¹å¼è¿è¡è¿æ¥å³å¯ã
ããä»CPUå ç¨çä¸ä¹å¯ä»¥çåºæ¯å¨kernelä¸æ§è¡å µå¡ä½äº
ããE/ActivityManager( 957): 75% TOTAL: 4.7% user + 70% kernel
ãã5ãæ§è¡DexOpté误
ããW/dalvikvm( 1803): DexOpt: --- END 'SettingsProvider.apk' --- status=0x000a, process failed
ããE/dalvikvm( 1803): Unable to extract+optimize DEX from '/system/app/SettingsProvider.apk'
ããããandroid.app.ActivityThread.installProvider(ActivityThread.java:3557)
ããE/SystemServer( 1803): at android.app.ActivityThread.getProvider(ActivityThread.java:3356)
ããä»ä¸é¢çæå°çï¼æ¯å¨è§£åæä¼åextract+optimize DEXçapkæ件æ¶åºéäº
ãã1ã没æåºç°magic numberé误ï¼è¿ä¸ªåå ä¸ååæä½æ å
³(è¿æ¯ä¸å¿«éçå éå解éçè½»é级æä½å½æ°)
ãã2ãæ§è¡dexoptåºé
ããæ¥ææ¯æå¡å¨ç¡¬ç没空é´äºï¼å¯¼è´å¼å¯¼æ件系ç»çæ¶å没æ空é´è¿è¡è§£åè失败
ãã6ãç³»ç»å¯å¨åé»è®¤å
¶å¦æéæºæ»æºæ
åµ
ããåºç°è¿ç§é误ï¼
ãã12-01 08:11:56.027: WARN/SharedBufferStack(312): waitForCondition(LockCondition) timed out (identity=19, status=0). CPU may be pegged. trying again.
ãã12-01 08:11:57.315: WARN/SharedBufferStack(312): waitForCondition(LockCondition) timed out (identity=19, status=0). CPU may be pegged. trying again.
ãã12-01 08:11:59.318: WARN/SharedBufferStack(312): waitForCondition(LockCondition) timed out (identity=19, status=0). CPU may be pegged. trying again.
ãã12-01 08:12:03.332: WARN/SharedBufferStack(312): waitForCondition(LockCondition) timed out (identity=19, status=0). CPU may be pegged. trying again.
ãã12-01 08:12:05.329: WARN/SharedBufferStack(312): waitForCondition(LockCondition) timed out (identity=19, status=0). CPU may be pegged. trying again.
ãã12-01 08:12:07.216: WARN/KeyCharacterMap(312): No keyboard for id 0
ãã12-01 08:12:07.216: WARN/KeyCharacterMap(312): Using default keymap: /system/usr/keychars/qwerty.kcm.bin