Lorsque j'exécute en mode débogage , l'application se bloque, mais lorsque je l'exécute normalement, cela fonctionne. Je pense que le problème se produit lorsque le débogueur est connecté.
Journal:
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
android
android-studio
debugging
android-debug
android-debugging
Maxim Rabtsun
la source
la source
Réponses:
Pour moi, cela s'est produit lorsque j'ai un point d'arrêt dans une fonction imbriquée. Dans mon cas, c'était dans
Runnable.run() {}
. Je ne sais pas si cela se produit dans d'autres fonctions imbriquées.Exemple:
S'il y a un point d'arrêt sur une ligne à l'intérieur du func run (), il se bloque avec l'erreur
A/art: art/runtime/jdwp/jdwp_event.cc:661] Check failed: Thread::Current() != GetDebugThread() (Thread::Current()=0x########, GetDebugThread()=0x########) Expected event thread
.Cette erreur se produit la première fois que la classe est rencontrée, PAS lorsque le point d'arrêt est atteint. Donc ça m'est arrivé quand je suis entré dans une ligne qui avait
new TouchEvent();
, avant l'exécution du code de TouchEvent (avant le constructeur).La solution est de supprimer le point d'arrêt (et de le mettre ailleurs).
Éditer:
Oublié de mentionner, il semble être lié à API25, mais a également été signalé pour API26 et API27.
Éditer:
Une autre solution consiste à désactiver Instant Run , mais merci de donner @ toobsco42 pour cela ci-dessous.
la source
Dans mon cas, j'ai dû désactiver Instant Run. Il semble qu'Instant Run ait toutes sortes d'effets secondaires et cela peut être l'un d'entre eux.
la source
Le problème est lié à Android version 7.x, j'ai supprimé tous les points d'arrêt dans les fonctions imbriquées et cela a fonctionné, testé avec Android version 6.0 également, et cela fonctionne sans problème.
Selon la réponse de l'équipe de développeurs Google, elle a été corrigée le 01/12/2016 et sera appliquée dans la prochaine version.
la source
J'ai supprimé tous les points d'arrêt et cela a fonctionné, testé avec Emulator Pixel API 25.
Pour supprimer tous les points d'arrêt:
Accédez à l'option Débogueur.
Cliquez sur l'icône rouge ci-dessous pour arrêter le débogage.
Vous verrez une fenêtre où vous pourrez supprimer tous les points d'arrêt.
Voir plus dans cet article: https://stackoverflow.com/a/42478994/5749462
la source
Cela est dû à un problème avec les points de débogage. Supprimez tous les points de débogage et cela devrait fonctionner.
la source
C'est vraiment bizarre, j'ai désactivé Instant Run et le problème s'est résolu.
la source
Mon problème était que j'avais un point d'arrêt à la déclaration d'importation
la source
Dans la fenêtre 5: Debug, utilisez le bouton "View Breakpoints"
Désélectionner Tous
la source
La solution la plus simple consiste à trouver un autre appareil ou émulateur (merci AVD Manager, nous avons le choix) qui fonctionnera comme un charme sans solution de contournement
la source
Mon application s'est également bloquée uniquement en mode débogage. Quant à la version 3.5 - "Instant Run" a été remplacé par "Apply Changes", donc je ne pouvais pas le désactiver. Ma solution était de lancer l'application normalement (avec la flèche verte), de naviguer juste après l'endroit où elle plantait puis d'y attacher le débogueur:
la source
La suppression du point d'arrêt de Runable.run () a résolu le problème pour moi. J'ai pu utiliser des points d'arrêt lors de l'exécution dans Runable.run (). Mais pas au moment de la compilation
la source
Ran dans ce même problème, mais mon point d'arrêt était la première ligne de la fonction imbriquée alors comment le déplacer ailleurs?
J'ai créé une méthode privée temporaire et fait de l'invocation de cette méthode la première chose dans la fonction, puis j'ai défini le point d'arrêt dans cette méthode.
Une fois le débogage terminé, j'ai supprimé la méthode et son appel.
la source
c'est un long plan mais pour moi, quand j'ai une instruction d'importation qui n'est pas utilisée, et que l'importation a du code qui exécute les appels réseau, elle s'est bloquée pour moi mais lors de sa suppression, le code a pu déboguer normalement.
la source
Commencer à planter uniquement lors du démarrage avec le débogueur. Redémarrage d'Android Studio 2.3.2 ... continuait de planter. Fonctionne bien en mode Exécution. J'ai mis un Log.d () juste après onCreate ... et cela a résolu le problème! Allez comprendre!
la source
Supprimer tous les points de débogage de mon application fonctionne correctement, vous pouvez utiliser ctrl + shift + f6 pour supprimer tous les points de débogage
la source