Thursday, December 23, 2010

[android-developers] [Native stack trace] How to analyze native stack trace when application crashes ?

I wonder how to debug when an application crash and that a native
stack trace is reported in the logcat.

Hereby some questions that could be useful for other developpers =)

Q1 ; how do you analyze the native stack trace that is reported in the
Logcat when application crashes ?

Q2 : Do you know tools that perfectly works for this ?

Q3 : How do you debug this kind of situation ?

Thanks in advance for your answers.


P.S. hereby an example of the stack trace I wanna to debug :

12-23 11:14:50.224: INFO/DEBUG(48): *** *** *** *** *** *** *** ***
*** *** *** *** *** *** *** ***
12-23 11:14:50.224: INFO/DEBUG(48): Build fingerprint: 'android-
devphone1/dream_devphone/dream/trout:1.6/DRC83/14721:userdebug/
adp,test-keys'
12-23 11:14:50.224: INFO/DEBUG(48): pid: 3437, tid: 3437 >>>
com.example.myapplication <<<
12-23 11:14:50.224: INFO/DEBUG(48): signal 11 (SIGSEGV), fault addr
98054b41
12-23 11:14:50.224: INFO/DEBUG(48): r0 00000000 r1 0000032c r2
98054b21 r3 460da230
12-23 11:14:50.224: INFO/DEBUG(48): r4 00000003 r5 4000c238 r6
460e3000 r7 ad084aa8
12-23 11:14:50.224: INFO/DEBUG(48): r8 ad083e1c r9 a9d223d9 10
4000c238 fp ad083e1c
12-23 11:14:50.224: INFO/DEBUG(48): ip 4000c1e8 sp be9ae620 lr
00000003 pc ad01622c cpsr 60000010
12-23 11:14:50.384: INFO/DEBUG(48): #00 pc 0001622c /system/
lib/libdvm.so
12-23 11:14:50.384: INFO/DEBUG(48): #01 pc 00016cb4 /system/
lib/libdvm.so
12-23 11:14:50.394: INFO/DEBUG(48): #02 pc 000153e4 /system/
lib/libdvm.so
12-23 11:14:50.394: INFO/DEBUG(48): #03 pc 000483f4 /system/
lib/libdvm.so
12-23 11:14:50.394: INFO/DEBUG(48): #04 pc 000591b2 /system/
lib/libdvm.so
12-23 11:14:50.394: INFO/DEBUG(48): #05 pc 00013198 /system/
lib/libdvm.so
12-23 11:14:50.404: INFO/DEBUG(48): #06 pc 00017be4 /system/
lib/libdvm.so
12-23 11:14:50.404: INFO/DEBUG(48): #07 pc 0001762c /system/
lib/libdvm.so
12-23 11:14:50.404: INFO/DEBUG(48): #08 pc 000529a8 /system/
lib/libdvm.so
12-23 11:14:50.414: INFO/DEBUG(48): #09 pc 00059eda /system/
lib/libdvm.so
12-23 11:14:50.414: INFO/DEBUG(48): #10 pc 00013198 /system/
lib/libdvm.so
12-23 11:14:50.414: INFO/DEBUG(48): #11 pc 00017be4 /system/
lib/libdvm.so
12-23 11:14:50.424: INFO/DEBUG(48): #12 pc 0001762c /system/
lib/libdvm.so
12-23 11:14:50.424: INFO/DEBUG(48): #13 pc 0005282c /system/
lib/libdvm.so
12-23 11:14:50.424: INFO/DEBUG(48): #14 pc 0003f790 /system/
lib/libdvm.so
12-23 11:14:50.434: INFO/DEBUG(48): #15 pc 0002bdfc /system/
lib/libandroid_runtime.so
12-23 11:14:50.434: INFO/DEBUG(48): #16 pc 0002c8fe /system/
lib/libandroid_runtime.so
12-23 11:14:50.434: INFO/DEBUG(48): #17 pc 00008bf2 /system/
bin/app_process
12-23 11:14:50.434: INFO/DEBUG(48): #18 pc 0000bd60 /system/
lib/libc.so
12-23 11:14:50.444: INFO/DEBUG(48): #19 pc b000163c /system/
bin/linker
12-23 11:14:50.444: INFO/DEBUG(48): stack:
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5e0 43738000 /dev/
ashmem/mspace/dalvik-heap/2 (deleted)
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5e4 43737fff
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5e8 45ea4000 /dev/
ashmem/dalvik-heap-markstack (deleted)
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5ec 00000002
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5f0 be9ae5f8 [stack]
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5f4 ad014930 /system/
lib/libdvm.so
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5f8 00000002
12-23 11:14:50.444: INFO/DEBUG(48): be9ae5fc 00000001
12-23 11:14:50.444: INFO/DEBUG(48): be9ae600 00000000
12-23 11:14:50.454: INFO/DEBUG(48): be9ae604 00065e60 [heap]
12-23 11:14:50.454: INFO/DEBUG(48): be9ae608 00000000
12-23 11:14:50.454: INFO/DEBUG(48): be9ae60c ad038729 /system/
lib/libdvm.so
12-23 11:14:50.454: INFO/DEBUG(48): be9ae610 0000033c
12-23 11:14:50.454: INFO/DEBUG(48): be9ae614 be9ae610 [stack]
12-23 11:14:50.454: INFO/DEBUG(48): be9ae618 df002777
12-23 11:14:50.454: INFO/DEBUG(48): be9ae61c e3a070ad
12-23 11:14:50.454: INFO/DEBUG(48): #00 be9ae620 0000032c
12-23 11:14:50.454: INFO/DEBUG(48): be9ae624 98054b21
12-23 11:14:50.454: INFO/DEBUG(48): be9ae628 4000c238 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
12-23 11:14:50.454: INFO/DEBUG(48): be9ae62c 4000c1e8 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
12-23 11:14:50.454: INFO/DEBUG(48): be9ae630 4000c238 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
12-23 11:14:50.464: INFO/DEBUG(48): be9ae634 460e3000
12-23 11:14:50.464: INFO/DEBUG(48): be9ae638 ad084aa8 /system/
lib/libdvm.so
12-23 11:14:50.464: INFO/DEBUG(48): be9ae63c ad083e1c /system/
lib/libdvm.so
12-23 11:14:50.464: INFO/DEBUG(48): be9ae640 0000032c
12-23 11:14:50.464: INFO/DEBUG(48): be9ae644 00002710
12-23 11:14:50.464: INFO/DEBUG(48): be9ae648 00000000
12-23 11:14:50.464: INFO/DEBUG(48): be9ae64c ad016cb8 /system/
lib/libdvm.so
12-23 11:14:50.464: INFO/DEBUG(48): #01 be9ae650 00000000
12-23 11:14:50.464: INFO/DEBUG(48): be9ae654 ad084aa8 /system/
lib/libdvm.so
12-23 11:14:50.474: INFO/DEBUG(48): be9ae658 4000c1e8 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
12-23 11:14:50.474: INFO/DEBUG(48): be9ae65c ad0153e8 /system/
lib/libdvm.so
12-23 11:14:52.934: INFO/ActivityManager(74): Process
com.example.myapplication (pid 3437) has died.

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment