Android应用程序自动关闭 - 本机代码崩溃?

时间:2010-07-12 22:40:03

标签: android

我有一个非常简单/最小的代码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)

2 个答案:

答案 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/