日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

How to find the crash point: Android Native crash | Freescale Community

 老匹夫 2015-06-16

There is a very quick way to find out which line cause the crash in logcat,

Generally, if some native service crashes, look in the crash log in logcat like this:


I/DEBUG ( 2253): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***


I/DEBUG ( 2253): Build fingerprint: 'freescale/sabresd_6dq/sabresd_6dq:4.0.4/R13.3-rc3/eng.b18293.20120710.124535:user/test-keys'


I/DEBUG ( 2253): pid: 3043, tid: 3080 >>> /system/bin/mediaserver <<<


I/DEBUG ( 2253): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad


I/DEBUG ( 2253): r0 deadbaad r1 00000001 r2 a0000000 r3 00000000


I/DEBUG ( 2253): r4 00000000 r5 00000027 r6 00bfd370 r7 40c1ef18


I/DEBUG ( 2253): r8 00004349 r9 00000000 10 000003f5 fp 00000000


I/DEBUG ( 2253): ip ffffffff sp 418876a0 lr 400ff1b5 pc 400fb91c cpsr 60000030


I/DEBUG   ( 2253):  ip ffffffff  sp 418876a0  lr 400ff1b5  pc 400fb91c  cpsr 60000030


 



We can see it’s possibly related to some code that we debugged, but don’t know exactly where or which line of code,

Android has a tool to convert this log to a more precise log. As a quick example, if you got this crash in logcat:


F/libc ( 3043): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)


I/DEBUG ( 2253): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***


I/DEBUG ( 2253): Build fingerprint: 'freescale/sabresd_6dq/sabresd_6dq:4.0.4/R13.3-rc3/eng.b18293.20120710.124535:user/test-keys'


I/DEBUG ( 2253): pid: 3043, tid: 3080 >>> /system/bin/mediaserver <<<


I/DEBUG ( 2253): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad


I/DEBUG ( 2253): r0 deadbaad r1 00000001 r2 a0000000 r3 00000000


I/DEBUG ( 2253): r4 00000000 r5 00000027 r6 00bfd370 r7 40c1ef18


I/DEBUG ( 2253): r8 00004349 r9 00000000 10 000003f5 fp 00000000


I/DEBUG ( 2253): ip ffffffff sp 418876a0 lr 400ff1b5 pc 400fb91c cpsr 60000030


I/DEBUG ( 2253): d0 3e4ccccd00000000 d1 7e37e43c3e4ccccd


I/DEBUG ( 2253): d2 0000004042000000 d3 4200000000000000


I/DEBUG ( 2253): d4 3ff0000000000000 d5 3ff0000000000000


I/DEBUG ( 2253): d6 4220000041300000 d7 3e4ccccd3e4ccccd


I/DEBUG ( 2253): d8 000000000000685d d9 00000000010bee7c


I/DEBUG ( 2253): d10 0000000000000000 d11 0000000000000000


I/DEBUG ( 2253): d12 0000000000000000 d13 0000000000000000


I/DEBUG ( 2253): d14 0000000000000000 d15 0000000000000000


I/DEBUG ( 2253): d16 0000000000000000 d17 3ff0000000000000


I/DEBUG ( 2253): d18 7e37e43c8800759c d19 0000000000000000


I/DEBUG ( 2253): d20 bfe0000000000000 d21 405443dab91ed79f


I/DEBUG ( 2253): d22 0000000000000000 d23 3f40624dd2f1a9fc


I/DEBUG ( 2253): d24 7fff80007fff0000 d25 3f6328e1cb8c85e0


I/DEBUG ( 2253): d26 0000000000000000 d27 0000000000000000


I/DEBUG ( 2253): d28 0000000000000000 d29 0000000000000000


I/DEBUG ( 2253): d30 0000000000000000 d31 0000000000000000


I/DEBUG ( 2253): scr 28000010


I/DEBUG ( 2253):


I/DEBUG ( 2253): #00 pc 0001791c /system/lib/libc.so


I/DEBUG ( 2253): #01 pc 00003f3e /system/lib/libcutils.so (__android_log_assert)


I/DEBUG ( 2253): #02 pc 0006c436 /system/lib/libstagefright.so (_ZN7android8OMXCodec16drainInputBufferEPNS0_10BufferInfoE)


I/DEBUG ( 2253): #03 pc 0006cbc2 /system/lib/libstagefright.so (_ZN7android8OMXCodec17drainInputBuffersEv)


I/DEBUG ( 2253): #04 pc 0006f570 /system/lib/libstagefright.so (_ZN7android8OMXCodec4readEPPNS_11MediaBufferEPKNS_11MediaSource11ReadOpti


onsE)


I/DEBUG ( 2253): #05 pc 00051aba /system/lib/libstagefright.so (_ZN7android11AudioPlayer5startEb)


I/DEBUG ( 2253): #06 pc 0005411e /system/lib/libstagefright.so (_ZN7android13AwesomePlayer18startAudioPlayer_lEb)


I/DEBUG ( 2253): #07 pc 0005554a /system/lib/libstagefright.so (_ZN7android13AwesomePlayer6play_lEv)


I/DEBUG ( 2253): #08 pc 000558e0 /system/lib/libstagefright.so (_ZN7android13AwesomePlayer4playEv)


I/DEBUG ( 2253): #09 pc 00027f4e /system/lib/libmediaplayerservice.so (_ZN7android17StagefrightPlayer5startEv)


I/DEBUG ( 2253): #10 pc 00024dda /system/lib/libmediaplayerservice.so (_ZN7android18MediaPlayerService6decodeEixxPjPiS2_)


I/DEBUG ( 2253):


I/DEBUG ( 2253): code around pc:


I/DEBUG ( 2253): 400fb8fc 4623b15c 2c006824 e026d1fb b12368db \.#F$h.,..&..h#.


I/DEBUG ( 2253): 400fb90c 21014a17 6011447a 48124798 24002527 .J.!zD.`.G.H'%.$


I/DEBUG ( 2253): 400fb91c f7f47005 2106ee22 eebef7f5 f04fa901 .p.."..!......O.


I/DEBUG ( 2253): 400fb92c 460a5380 93032006 94029401 ea7af7f5 .S.F. ........z.


I/DEBUG ( 2253): 400fb93c 4622a905 f7f52002 f7f4ea84 2106ee0e .."F. .........!


I/DEBUG ( 2253):


I/DEBUG ( 2253): code around lr:


I/DEBUG ( 2253): 400ff194 41f0e92d 4c0c4680 447c2600 68a56824 -..A.F.L.&|D$h.h


I/DEBUG ( 2253): 400ff1a4 e0076867 300cf9b5 dd022b00 47c04628 gh.....0.+..(F.G


I/DEBUG ( 2253): 400ff1b4 35544306 37fff117 6824d5f4 d1ee2c00 .CT5...7..$h.,..


I/DEBUG ( 2253): 400ff1c4 e8bd4630 bf0081f0 00028346 41f0e92d 0F......F...-..A


I/DEBUG ( 2253): 400ff1d4 9004b086 f602fb01 460c461f 46154814 .........F.F.H.F


I/DEBUG ( 2253):


I/DEBUG ( 2253): memory map around addr deadbaad:


I/DEBUG ( 2253): becef000-bed10000 [stack]


I/DEBUG ( 2253): (no map for address)


I/DEBUG ( 2253): ffff0000-ffff1000 [vectors]


I/DEBUG ( 2253):



You can see it’s related to which lib, but don’t know which line.

So, let’s go to your source code, for example:

mydroid;

after do


$. build/envsetup.sh$ lunch sabresd_6dp-eng


 


$ development/scripts/stack



 

Then you have a prompt:


Reading native crash info from stdin



The you just copy all the crash log in above to this prompt.

And then Key in EOF (CTRL+D) in this prompt.

You will get output like this:


Reading symbols from /home/b33651/proj/ics/out/target/product/sabresd_6dq/symbols


pid: 3043, tid: 3080 >>> /system/bin/mediaserver <<<


signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad


  r0 deadbaad r1 00000001 r2 a0000000 r3 00000000


  r4 00000000 r5 00000027 r6 00bfd370 r7 40c1ef18


  r8 00004349 r9 00000000 10 000003f5 fp 00000000


  ip ffffffff sp 418876a0 lr 400ff1b5 pc 400fb91c


 


Stack Trace:


  RELADDR FUNCTION FILE:LINE


  0001791c __libc_android_abort+92 /home/b33651/proj/ics/bionic/libc/unistd/abort.c:82


  00003f3e __android_log_assert+94 /home/b33651/proj/ics/system/core/liblog/logd_write.c:246


  0006c436 android::OMXCodec::drainInputBuffer(android::OMXCodec::BufferInfo*)+138 /home/b33651/proj/ics/frameworks/base/media/libstagefright/OMXCodec.cpp:3181


  0006cbc2 android::OMXCodec::drainInputBuffers()+102 /home/b33651/proj/ics/frameworks/base/media/libstagefright/OMXCodec.cpp:3125


  0006f570 android::OMXCodec::read(android::MediaBuffer**, android::MediaSource::ReadOptions const*)+136 /home/b33651/proj/ics/frameworks/base/media/libstagefright/OMXCodec.cpp:4020


  00051aba android::AudioPlayer::start(bool)+134 /home/b33651/proj/ics/frameworks/base/media/libstagefright/AudioPlayer.cpp:93


  0005411e android::AwesomePlayer::startAudioPlayer_l(bool)+70 /home/b33651/proj/ics/frameworks/base/media/libstagefright/AwesomePlayer.cpp:953


  0005554a android::AwesomePlayer::play_l()+202 /home/b33651/proj/ics/frameworks/base/media/libstagefright/AwesomePlayer.cpp:888


  000558e0 android::AwesomePlayer::play()+20 /home/b33651/proj/ics/frameworks/base/media/libstagefright/AwesomePlayer.cpp:837


  00027f4e android::StagefrightPlayer::start()+6 /home/b33651/proj/ics/frameworks/base/media/libmediaplayerservice/StagefrightPlayer.cpp:90


  00024dda android::MediaPlayerService::decode(int, long long, long long, unsigned int*, int*, int*)+206 /home/b33651/proj/ics/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp:1428



 

So, you get more reason logs.

Note:

  1. The Android directory must have built once.
  2. The crash log better aligns with your Android build environment.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多