una studio seleccionar reconoce para movil depurar depuracion debug como celular aplicacion android android-studio debugging android-debug android-debugging

studio - La aplicación de Android se bloquea cuando se inicia en modo de depuración



debug android studio on device (13)

Comienza a fallar solo cuando se inicia con el depurador. Reinicié Android Studio 2.3.2 ... siguió fallando. Funciona bien en modo Run. Puse un Log.d () justo después de onCreate ... ¡y resolvió el problema! ¡Imagínate!

Cuando ejecuto el modo de depuración , la aplicación falla, pero cuando la ejecuto normalmente funciona. Creo que el problema ocurre cuando se adjunta el depurador.

Iniciar sesión:

A/art: art/runtime/jdwp/jdwp_event.cc:661] Check failed: Thread::Current() != GetDebugThread() (Thread::Current()=0x7f44a18400, GetDebugThread()=0x7f44a18400) Expected event thread A/art: art/runtime/runtime.cc:422] Runtime aborting... A/art: art/runtime/runtime.cc:422] Aborting thread: A/art: art/runtime/runtime.cc:422] "JDWP" prio=5 tid=4 WaitingForDebuggerSend A/art: art/runtime/runtime.cc:422] | group="" sCount=0 dsCount=0 obj=0x12c60280 self=0x7f44a18400 A/art: art/runtime/runtime.cc:422] | sysTid=24137 nice=0 cgrp=default sched=0/0 handle=0x7f4b904450 A/art: art/runtime/runtime.cc:422] | state=R schedstat=( 132066712 16401043 106 ) utm=9 stm=2 core=3 HZ=100 A/art: art/runtime/runtime.cc:422] | stack=0x7f4b80a000-0x7f4b80c000 stackSize=1005KB A/art: art/runtime/runtime.cc:422] | held mutexes= "abort lock" A/art: art/runtime/runtime.cc:422] native: #00 pc 000000000047e2cc /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220) A/art: art/runtime/runtime.cc:422] native: #01 pc 000000000047e2c8 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216) A/art: art/runtime/runtime.cc:422] native: #02 pc 0000000000452434 /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+480) A/art: art/runtime/runtime.cc:422] native: #03 pc 00000000004403ac /system/lib64/libart.so (_ZNK3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+56) A/art: art/runtime/runtime.cc:422] native: #04 pc 0000000000440228 /system/lib64/libart.so (_ZNK3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+668) A/art: art/runtime/runtime.cc:422] native: #05 pc 0000000000433bfc /system/lib64/libart.so (_ZN3art7Runtime5AbortEPKc+148) A/art: art/runtime/runtime.cc:422] native: #06 pc 00000000000e597c /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+1592) A/art: art/runtime/runtime.cc:422] native: #07 pc 00000000002f8458 /system/lib64/libart.so (_ZN3art4JDWP9JdwpState24AcquireJdwpTokenForEventEm+624) A/art: art/runtime/runtime.cc:422] native: #08 pc 00000000002f7b1c /system/lib64/libart.so (_ZN3art4JDWP9JdwpState29SendRequestAndPossiblySuspendEPNS0_9ExpandBufENS0_17JdwpSuspendPolicyEm+248) A/art: art/runtime/runtime.cc:422] native: #09 pc 00000000002fcb08 /system/lib64/libart.so (_ZN3art4JDWP9JdwpState16PostClassPrepareEPNS_6mirror5ClassE+1380) A/art: art/runtime/runtime.cc:422] native: #10 pc 0000000000124a9c /system/lib64/libart.so (_ZN3art11ClassLinker11DefineClassEPNS_6ThreadEPKcmNS_6HandleINS_6mirror11ClassLoaderEEERKNS_7DexFileERKNS9_8ClassDefE+804) A/art: art/runtime/runtime.cc:422] native: #11 pc 0000000000381d04 /system/lib64/libart.so (_ZN3artL25DexFile_defineClassNativeEP7_JNIEnvP7_jclassP8_jstringP8_jobjectS7_S7_+344) A/art: art/runtime/runtime.cc:422] native: #12 pc 00000000001dd40c /system/framework/arm64/boot-core-libart.oat (???) A/art: art/runtime/runtime.cc:422] at dalvik.system.DexFile.defineClassNative(Native method) A/art: art/runtime/runtime.cc:422] at dalvik.system.DexFile.defineClass(DexFile.java:296) A/art: art/runtime/runtime.cc:422] at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:289) A/art: art/runtime/runtime.cc:422] at dalvik.system.DexPathList.findClass(DexPathList.java:418) A/art: art/runtime/runtime.cc:422] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) A/art: art/runtime/runtime.cc:422] at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90) A/art: art/runtime/runtime.cc:422] at com.android.tools.fd.runtime.IncrementalClassLoader.findClass(IncrementalClassLoader.java:62) A/art: art/runtime/runtime.cc:422] at java.lang.ClassLoader.loadClass(ClassLoader.java:380) A/art: art/runtime/runtime.cc:422] at java.lang.ClassLoader.loadClass(ClassLoader.java:367) A/art: art/runtime/runtime.cc:422] at java.lang.ClassLoader.loadClass(ClassLoader.java:367) A/art: art/runtime/runtime.cc:422] at java.lang.ClassLoader.loadClass(ClassLoader.java:312) A/art: art/runtime/runtime.cc:422] Dumping all threads without appropriate locks held: thread list lock mutator lock


El problema está relacionado con la versión 7.x de Android, eliminé todos los puntos de interrupción en las funciones anidadas y funcionó, también probé con la versión 6.0 de Android y funciona sin problemas.

Según la respuesta del equipo de desarrolladores de Google, se solucionó el 1/12/2016 y se aplicará en la próxima versión.


Eliminé todos los puntos de interrupción y funcionó, probado con Emulator Pixel API 25.

Para eliminar todos los puntos de interrupción:

  • Ir a la opción de depurador.

  • Haga clic en el icono rojo que se encuentra debajo para detener la depuración.

  • Verá una ventana allí donde puede eliminar todos los puntos de interrupción.

Ver más en esta publicación: https://.com/a/42478994/5749462


Eliminar el punto de interrupción de Runable.run () resolvió el problema por mí. Pude usar puntos de interrupción en tiempo de ejecución dentro de Runable.run (). Pero no en tiempo de compilación


En mi caso tuve que desactivar Instant Run. Parece que Instant Run tiene todo tipo de efectos secundarios y este puede ser uno de ellos.


Es realmente extraño, deshabilité Instant Run y ​​el problema se resolvió por sí solo.


Esto se debe a algún problema con los puntos de depuración. Elimine todos los puntos de depuración y luego debería funcionar.


La solución más simple es tratar de encontrar otro dispositivo o emulador (gracias al Administrador de AVD, tenemos una opción) que funcionará de maravilla sin soluciones


Me encontré con este mismo problema, pero mi punto de interrupción fue la primera línea de la función anidada, ¿cómo moverlo a otro lugar?

Creé un método privado temporal e hice una invocación de ese método lo primero en la función y luego establecí el punto de interrupción en ese método.

Cuando terminé de depurar, eliminé el método y su invocación.


Mi problema era que tenía un punto de interrupción en la declaración de importación


Para mí, ocurrió cuando tengo un punto de interrupción en una función anidada. En mi caso, estaba dentro de Runnable.run () {}. No estoy seguro si sucede en otras funciones anidadas.

Ejemplo:

public class TouchEvent { public boolean HandleEvent(MotionEvent Event) { new Runnable() { @Override public void run() { int i=5; i++; }}; } }

Si hay un punto de interrupción en cualquier línea dentro de la función run (), se bloquea con el error A/art: art/runtime/jdwp/jdwp_event.cc:661] Check failed: Thread::Current() != GetDebugThread() (Thread::Current()=0x########, GetDebugThread()=0x########) Expected event thread .

Este error ocurre la primera vez que se encuentra la clase, NO cuando se alcanza el punto de interrupción. Entonces se me ocurrió cuando entré en una línea que tenía un new TouchEvent(); , antes de que se ejecutara el código de TouchEvent (antes del constructor).

La solución es eliminar el punto de ruptura (y ponerlo en otro lugar).

Editar:

Olvidé mencionar que parece estar vinculado a API25, pero también se ha informado para API26 y API27.

Editar:

Otra solución es deshabilitar la ejecución instantánea , pero dé crédito a toobsco42 por eso a continuación.


es una posibilidad remota, pero para mí, cuando tengo una declaración de importación que no se está utilizando, y esa importación tiene un código que ejecuta llamadas de red, se bloqueó para mí, pero al eliminarla, el código pudo depurar normalmente.


En la ventana 5: Depuración, use el botón "Ver puntos de interrupción"

Anular selección de todos