L'application Android tombe en panne lorsqu'elle est lancée en mode de débogage

quand j'exécute en mode debug l'application tombe en panne, mais quand je l'exécute juste normalement il fonctionne. Je pense que le problème se produit lorsque le débogueur est attaché.

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
241
demandé sur Sebastian 2016-11-15 23:10:12
la source

13 ответов

Pour moi, c'est arrivé quand j'ai un point d'arrêt dans une fonction imbriquée. Dans mon cas, c'était dans les Exécutables.exécuter.}{ )( Pas sûr si cela se produit dans d'autres fonctions imbriquées.

exemple:

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

S'il y a un point de rupture sur n'importe quelle ligne à l'intérieur du run() func, il s'écrase 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 de rupture est touché. Donc, il s'est produit pour moi quand je suis entré dans une ligne qui avait new TouchEvent(); , avant que n'importe lequel du code de TouchEvent ait été lancé (avant le constructeur).

la solution est d'enlever le point de rupture (et de le mettre ailleurs).

Edit:

a oublié de mentionner, il semble être lié à API25, mais a été rapporté pour API26 et API27 aussi.

Edit:

un autre la solution est de désactiver course instantanée , mais s'il vous plaît donner toobsco42 crédit pour cela ci-dessous.

281
répondu Dakusan 2018-06-13 00:08:52
la source

dans mon cas, j'ai dû désactiver la course instantanée. Il semble que la course instantanée a toutes sortes d'effets secondaires et cela peut être l'un d'eux.

166
répondu toobsco42 2017-01-11 12:48:11
la source

problème lié à Android version 7.x, j'ai enlevé tous les points de rupture dans les fonctions imbriquées et il a fonctionné, testé avec Android version 6.0 aussi, et il fonctionne sans problème.

selon la réponse de l'équipe de développeurs google, il a été fixé au 01/12/2016 et sera appliqué dans la prochaine version.

42
répondu hcknl 2017-05-05 11:11:47
la source

j'ai enlevé tous les points de rupture et ça a marché, testé avec L'émulateur Pixel API 25.

pour supprimer tous les points de rupture:

  • Allez à l'option de Débogueur.

  • cliquez sur l'icône rouge ci-dessous pour arrêter le débogage.

  • vous verrez une fenêtre où vous pouvez enlever tous les points de rupture.

voir plus dans cet article: https://stackoverflow.com/a/42478994/5749462

20
répondu creonilso rodrigues 2017-09-29 16:04:34
la source

Ceci est dû à un problème avec les points de débogage. Supprimez tous les points de débogage et cela devrait fonctionner.

15
répondu flame3 2018-01-15 13:45:04
la source

c'est vraiment bizarre, j'ai désactivé Instant d'Exécution et le problème résolu.

6
répondu mbpakalin 2017-08-15 11:52:21
la source

mon problème était que j'avais un point de rupture à la déclaration d'importation

3
répondu egorikem 2017-09-08 14:40:41
la source

la solution la plus simple est d'essayer de trouver un autre appareil ou émulateur (merci AVD Manager nous avons un choix) qui fonctionnera comme charme sans solutions de rechange

1
répondu yoAlex5 2018-03-22 19:17:20
la source

enter image description here

dans la fenêtre 5 : déboguer, utilisez le bouton" View Breakpoints "

enter image description here

UnSelectAll de

enter image description here

1
répondu Nicoolasens 2018-06-29 18:27:26
la source

suppression du point de rupture.run() a résolu le problème pour moi. J'ai été capable d'utiliser des points d'arrêt à l'exécution à L'intérieur de Runable.exécuter.)( Mais pas au moment de la compilation

0
répondu Ankush 2017-06-12 09:55:23
la source

a rencontré ce même problème mais mon point de rupture était la première ligne dans la fonction imbriquée alors comment la déplacer ailleurs?

j'ai créé un temporaire méthode privée et fit une invocation de cette méthode, la première chose dans la fonction puis-je définir le point d'arrêt dans la méthode.

quand j'ai terminé le débogage, j'ai supprimé la méthode et son invocation.

0
répondu roobyroo 2017-08-24 18:31:24
la source

c'est un long plan mais pour moi, quand j'ai une déclaration d'importation qui n'est pas utilisé, et que l'importation a le code qui exécute les appels réseau, il s'est écrasé pour moi, mais en le retirant, le code a été capable de débugger normalement.

0
répondu reidisaki 2017-11-08 19:30:36
la source

ne commence à s'écraser qu'à partir du débogueur. Redémarré Android Studio 2.3.2...gardé s'écraser. Fonctionne bien en mode D'exécution. Je l'ai mis dans un Journal.d () juste après onCreate...et il a éclairci le problème! Allez comprendre!

0
répondu IrvineCAGuy 2017-11-15 00:01:38
la source