我有一个非常简单/最小的代码Android应用程序。我用手指在屏幕上绘制了一些线条。
在某些时候,app会自动关闭/自动存在。没有例外。
我真的被困住了。任何帮助/想法都非常感谢!
提前致谢/
07-12 23:13:54.264: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 3102 objects / 163096 bytes in 48ms
07-12 23:14:08.394: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 438 objects / 22696 bytes in 99ms
07-12 23:14:09.324: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 2697 objects / 142112 bytes in 73ms
07-12 23:14:15.434: INFO/DEBUG(11269): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-12 23:14:15.434: INFO/DEBUG(11269): Build fingerprint: 'google/passion/passion/mahimahi:2.2/FRF91/43546:user/release-keys'
07-12 23:14:15.434: INFO/DEBUG(11269): pid: 11450, tid: 11450 >>> com.mypackage.name <<<
07-12 23:14:15.434: INFO/DEBUG(11269): signal 11 (SIGSEGV), fault addr a001fac5
07-12 23:14:15.434: INFO/DEBUG(11269): r0 44992640 r1 0000004b r2 41a278e8 r3 0003ae50
07-12 23:14:15.434: INFO/DEBUG(11269): r4 44992640 r5 a001fac5 r6 0000015b r7 00002072
07-12 23:14:15.434: INFO/DEBUG(11269): r8 80816fc0 r9 00000004 10 00000000 fp bebf2868
07-12 23:14:15.434: INFO/DEBUG(11269): ip 112648cb sp bebf2564 lr 80818c6c pc 80844380 cpsr 20000030
07-12 23:14:15.434: INFO/DEBUG(11269): d0 643a64696f72646e d1 6472656767756265
07-12 23:14:15.434: INFO/DEBUG(11269): d2 0064006e0069000f d3 0065005300770046
07-12 23:14:15.434: INFO/DEBUG(11269): d4 0001310600012f24 d5 0000688700006731
07-12 23:14:15.434: INFO/DEBUG(11269): d6 4398835b4398835b d7 4100000042d52ee0
07-12 23:14:15.434: INFO/DEBUG(11269): d8 44994138439a088a d9 0002405342d3c247
07-12 23:14:15.434: INFO/DEBUG(11269): d10 4499413842d3c247 d11 00000000439a088a
07-12 23:14:15.434: INFO/DEBUG(11269): d12 0000000000000000 d13 0000000000000000
07-12 23:14:15.434: INFO/DEBUG(11269): d14 0000000000000000 d15 0000000000000000
07-12 23:14:15.434: INFO/DEBUG(11269): d16 00000000449993e0 d17 4027a05400000000
07-12 23:14:15.434: INFO/DEBUG(11269): d18 0707070703030303 d19 f0f0f0f0f0f0f0f0
07-12 23:14:15.434: INFO/DEBUG(11269): d20 0100010001000100 d21 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269): d22 f0f0f0f0f0f0f0f0 d23 f000f000f000f000
07-12 23:14:15.434: INFO/DEBUG(11269): d24 f000f000f000f000 d25 f000f000f000f000
07-12 23:14:15.434: INFO/DEBUG(11269): d26 0100010001000100 d27 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269): d28 0100010001000100 d29 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269): d30 0000000000000000 d31 3fe5555555555555
07-12 23:14:15.434: INFO/DEBUG(11269): scr 20000012
07-12 23:14:15.514: INFO/DEBUG(11269): #00 pc 00044380 /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269): #01 lr 80818c6c /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269): code around pc:
07-12 23:14:15.514: INFO/DEBUG(11269): 80844360 c064f8d0 f8dcb510 47983028 bf00bd10
07-12 23:14:15.514: INFO/DEBUG(11269): 80844370 699db5f0 0c90ea81 f00c460e 4604017f
07-12 23:14:15.514: INFO/DEBUG(11269): 80844380 b0856828 19c5010f f8d559c1 42a1c00c
07-12 23:14:15.514: INFO/DEBUG(11269): 80844390 6869d10e d10b42b1 0f01f01c d10268af
07-12 23:14:15.514: INFO/DEBUG(11269): 808443a0 458468e8 4620d013 eb54f7dd e00e4607
07-12 23:14:15.514: INFO/DEBUG(11269): code around lr:
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c4c e5054008 e7950102 e5963014 e3500000
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c5c e5962010 0a000cc1 e5900000 fa00adc0
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c6c e3500000 0a000c64 ea000bef e320f000
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c7c e320f000 eb000cbe e320f000 e320f000
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c8c e320f000 e320f000 e320f000 e320f000
07-12 23:14:15.514: INFO/DEBUG(11269): stack:
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2524 00000001
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2528 00000007
07-12 23:14:15.514: INFO/DEBUG(11269): bebf252c 4186be10
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2530 80816fc0 /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2534 8084e5cb /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2538 0000ccc8 [heap]
07-12 23:14:15.514: INFO/DEBUG(11269): bebf253c 418a76ec /dev/ashmem/dalvik-LinearAlloc (deleted)
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2540 00000000
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2544 afd10280 /system/lib/libc.so
07-12 23:14:15.514: INFO/DEBUG(11269): bebf2548 00000001
07-12 23:14:15.514: INFO/DEBUG(11269): bebf254c 4186be24
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2550 bebf25c0 [stack]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2554 0000131e
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2558 df002777
07-12 23:14:15.524: INFO/DEBUG(11269): bebf255c e3a070ad
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2560 00000000
07-12 23:14:15.524: INFO/DEBUG(11269): #00 bebf2564 42af93dc /system/framework/android.policy.odex
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2568 4186bdb8
07-12 23:14:15.524: INFO/DEBUG(11269): bebf256c bebf25c0 [stack]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2570 00002072
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2574 80818c6c /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2578 44994138 /dev/ashmem/mspace/dalvik-heap/2 (deleted)
07-12 23:14:15.524: INFO/DEBUG(11269): bebf257c bebf25c0 [stack]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2580 00230030 [heap]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2584 0000ccd0 [heap]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2588 00035fa8 [heap]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf258c 0000039c
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2590 808a12e0 /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2594 808a5ed8 /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269): bebf2598 bebf2868 [stack]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf259c 80822758 /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269): bebf25a0 0000ccc8 [heap]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf25a4 bebf25c0 [stack]
07-12 23:14:15.524: INFO/DEBUG(11269): bebf25a8 808226dc /system/lib/libdvm.so
07-12 23:14:15.894: INFO/ActivityManager(87): Process com.mypackage.name (pid 11450) has died.
07-12 23:14:15.904: INFO/WindowManager(87): WIN DEATH: Window{44c2c2b8 com.mypackage.name/com.mypackage.name.Game paused=false}
07-12 23:14:15.904: INFO/WindowManager(87): WIN DEATH: Window{44c95808 SurfaceView paused=false}
07-12 23:14:15.924: INFO/UsageStats(87): Unexpected resume of android while already resumed in com.mypackage.name
07-12 23:14:15.954: DEBUG/Zygote(58): Process 11450 terminated by signal (11)
答案 0 :(得分:1)
感谢 ognian ,它已经解决了:问题是来自2个不同线程的Canvas对象。
我正在玩Android的FingerPaint.java
SDK示例,它正在onTouchEvent
内访问Canvas。但是我也在我的动画线程中使用SurfaceView
并在Canvas上绘图。
因此,从onTouchEvent
(主应用程序线程)中删除Canvas对象访问解决了这个问题。
感谢。
答案 1 :(得分:0)
对于本机app中的下一个segfault(信号11(SIGSEGV)),您可以使用ndk-tool NDK堆栈。 它使用本机代码对象文件和logcat输出来生成c / c ++堆栈跟踪,这有时非常有用。
例如,请参见此处: http://www.codexperiments.com/android/2010/08/tips-tricks-debugging-android-ndk-stack-traces/