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

Android应用程序自动关闭-本机代码崩溃?,android,Android,我有一个非常简单/最少代码的Android应用程序。我正在用手指在屏幕上画一些线 在某个时刻,应用程序自动关闭/存在。没有抛出异常 我真的卡住了。非常感谢您的任何帮助/想法 提前谢谢/ 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 4

我有一个非常简单/最少代码的Android应用程序。我正在用手指在屏幕上画一些线

在某个时刻,应用程序自动关闭/存在。没有抛出异常

我真的卡住了。非常感谢您的任何帮助/想法

提前谢谢/

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)
07-12 23:13:54.264:DEBUG/dalvikvm(3638):GC_显式释放3102个对象/163096字节(48毫秒)
07-12 23:14:08.394:DEBUG/dalvikvm(3638):GC_显式释放438个对象/22696个字节,时间为99ms
07-12 23:14:09.324:DEBUG/dalvikvm(3638):GC_显式释放了2697个对象/142112字节(73毫秒)
07-12 23:14:15.434:信息/调试(11269):******************************************
07-12 23:14:15.434:INFO/DEBUG(11269):构建指纹:“google/passion/passion/mahimahi:2.2/FRF91/43546:用户/发布密钥”

07-12 23:14:15.434:INFO/DEBUG(11269):pid:11450,tid:11450>>>com.mypackage.name多亏了ognian,问题解决了:问题是从两个不同的线程在画布对象上绘制

我在玩Android的
FingerPaint.java
SDK示例,它在
onTouchEvent
中访问画布。然而,我也在动画线程中使用
SurfaceView
并在画布上绘制

因此,从
onTouchEvent
(主应用程序线程)删除画布对象访问解决了问题


谢谢。

多亏了ognian,问题解决了:问题是从两个不同的线程在画布上绘制对象

我在玩Android的
FingerPaint.java
SDK示例,它在
onTouchEvent
中访问画布。然而,我也在动画线程中使用
SurfaceView
并在画布上绘制

因此,从
onTouchEvent
(主应用程序线程)删除画布对象访问解决了问题


谢谢。

对于本机应用程序中的下一个SEGFULT(信号11(SIGSEGV)),您可以使用ndk工具 ndk堆栈。 它使用本机代码对象文件和logcat输出生成c/c++堆栈跟踪,这有时非常有用

请参见此处的示例:
对于本机应用程序中的下一个SEGFULT(信号11(SIGSEGV)),您可以使用ndk工具 ndk堆栈。 它使用本机代码对象文件和logcat输出生成c/c++堆栈跟踪,这有时非常有用

请参见此处的示例:

您可以共享生成它的代码吗?如果您不知道是什么生成了它,您可以通过在代码中添加Log.d消息来缩小它的范围吗?或者,使用Eclipse的调试器代替Log.d。您是否有可能从不同于主线程的画布上绘制?您是否可以共享生成该线程的代码?如果您不知道是什么生成了该线程,是否可以通过在代码中添加Log.d消息来缩小范围?或者,使用Eclipse的调试器代替Log.d。有没有可能你在画布上画的不是主线?