ããé¦å ï¼è®©æ们çä¸çAndroidLogçæ ¼å¼ãä¸é¢è¿æ®µlogæ¯ä»¥æè°çlongæ ¼å¼æå°åºæ¥çãä»åé¢Logcatçä»ç»ä¸å¯ä»¥ç¥éï¼longæ ¼å¼ä¼ææ¶é´ï¼æ ç¾çä½ä¸ºåç¬çä¸è¡æ¾ç¤ºã
ããè¿ä¸ªlogå°±ä¸é£ä¹å®¹ææäºï¼ä½æ¯è¿æ¯è½ä»ä¸çåºå¾å¤ä¿¡æ¯ï¼è®©æ们ä¸èµ·æ¥å¦ä¹ å¦ä½åæè¿ç§logãé¦å
çä¸é¢è¿è¡ï¼
ããpid: 2102, tid: 2102,name: testapp >>>./testapp <<<
ããä»è¿ä¸è¡æ们å¯ä»¥ç¥écrashè¿ç¨çpidåtidï¼åææ们已ç»æå°è¿ï¼Androidè°ç¨gettidå½æ°å¾å°çå®é æ¯è¿ç¨Idå·ï¼æ以è¿éçpidåtidç¸åãç¥éè¿ç¨å·åæ们å¯ä»¥å¾å翻翻logï¼çç该è¿ç¨æåä¸æ¬¡æå°çlogæ¯ä»ä¹ï¼è¿æ ·è½ç¼©å°ä¸ç¹èå´ã
ããæ¥ä¸æ¥å 容æ¯è¿ç¨ååå¯å¨åæ°ãåæ¥ä¸æ¥çä¸è¡æ¯è¾éè¦äºï¼å®åè¯äºæ们ä»ç³»ç»è§åº¦çï¼åºéçåå ï¼
ããsignal 11 (SIGSEGV), code 1(SEGV_MAPERR), fault addr 00000000
ããsignal11æ¯Linuxå®ä¹çä¿¡å·ä¹ä¸ï¼å«ä¹æ¯Invalidmemory referenceï¼æ æçå
åå¼ç¨ãå ä¸åé¢çâfaultaddr
00000000âæ们åºæ¬å¯ä»¥å¤å®è¿æ¯ä¸ä¸ªç©ºæé导è´çcrashãå½ç¶è¿æ¯ç¬è
为äºè®²è§£èç¹å°å¶é çä¸ä¸ªCrashçä¾åï¼æ¯è¾å®¹æå¤æï¼å¤§é¨åå®é
çä¾åå¯è½å°±æ²¡æé£ä¹å®¹æäºã
ããåæ¥ä¸æ¥çlogæå°åºäºcpuçææå¯åå¨çä¿¡æ¯åå æ çä¿¡æ¯ï¼è¿éé¢æéè¦çæ¯ä»å æ ä¸å¾å°çbacktraceä¿¡æ¯ï¼
ããI/DEBUG ( 127):backtrace:
ããI/DEBUG ( 127): #00 pc0000045e /system/bin/testapp
ããI/DEBUG ( 127): #01 pc0000046b /system/bin/testapp
ããI/DEBUG ( 127): #02 pc0001271f /system/lib/libc.so (__libc_init+38)
ããI/DEBUG ( 127): #03 pc00000400 /system/bin/testapp
ããå 为å®é çè¿è¡ç³»ç»é没æ符å·ä¿¡æ¯ï¼æ以æå°åºçlogéçä¸åºæ件ååè¡æ°ãè¿å°±éè¦æ们åå©ç¼è¯æ¶çä¸ç符å·ä¿¡æ¯è¡¨æ¥ç¿»è¯äºãAndroidæä¾äºä¸ä¸ªå·¥å ·å¯ä»¥æ¥åè¿ç§ç¿»è¯å·¥ä½ï¼arm-eabi-addr2lineï¼ä½äºprebuilts/gcc/linux-x86/arm/arm-eabi-4.6/binç®å½ä¸ãç¨æ³å¾ç®åï¼
ãã#./arm-eabi-addr2line -f
-eout/target/product/hammerhead/symbols/system/bin/testapp0x0000045e
ããåæ°-f表示æå°å½æ°åï¼åæ°-e表示带符å·è¡¨ç模åè·¯å¾ï¼æåæ¯è¦è½¬æ¢çå°åãè¿æ¡å½ä»¤å¨ç¬è çç¼è¯ç¯å¢ä¸å¾å°çç»ææ¯ï¼
ããmemcpy
/home/rd/compile/android-4.4_r1.2/bionic/libc/include/string.h:108
ããå©ä½ä¸ä¸ªå°åç¿»è¯å¦ä¸ï¼
ããmain
/home/rd/compile/android-4.4_r1.2/packages/apps/testapp/app_main.cpp:38
ããout_vformat
/home/rd/compile/android-4.4_r1.2/bionic/libc/bionic/libc_logging.cpp:361
ãã_start libgcc2.c:0
ããå©ç¨è¿äºä¿¡æ¯æ们å¾å¿«å°±è½å®ä½é®é¢äºãä¸è¿è¿æ ·æå¨ä¸æ¡ä¸æ¡çç¿»è¯æ¯è¾éº»ç¦ï¼ç¬è 使ç¨çæ¯ä»ç½ä¸æ¾å°çä¸ä¸ªèæ¬ï¼å¯ä»¥ä¸æ¬¡ç¿»è¯ææçè¡ï¼æéè¦ç读è å¯ä»¥å¨ç½ä¸æ¾ä¸æ¾ã