Ketika saya menjalankan dalam mode debug aplikasi macet, tetapi ketika saya hanya menjalankannya biasanya berfungsi. Saya pikir masalah terjadi ketika debugger terpasang.
Catatan:
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
sumber
sumber
Jawaban:
Bagi saya, itu terjadi ketika saya memiliki breakpoint dalam fungsi bersarang. Dalam kasus saya, itu ada di dalam
Runnable.run() {}
. Tidak yakin apakah itu terjadi pada fungsi bersarang lainnya.Contoh:
Jika ada breakpoint pada baris apa pun di dalam run () func, itu crash dengan kesalahan
A/art: art/runtime/jdwp/jdwp_event.cc:661] Check failed: Thread::Current() != GetDebugThread() (Thread::Current()=0x########, GetDebugThread()=0x########) Expected event thread
.Kesalahan ini terjadi saat kelas pertama kali ditemui, BUKAN ketika breakpoint terkena. Jadi itu terjadi pada saya ketika saya melangkah ke baris yang memiliki
new TouchEvent();
, sebelum kode TouchEvent dijalankan (sebelum konstruktor).Solusinya adalah menghapus break point (dan meletakkannya di tempat lain).
Edit:
Lupa menyebutkan, tampaknya terkait dengan API25, tetapi telah dilaporkan untuk API26 dan API27 juga.
Edit:
Solusi lain adalah menonaktifkan Run Instan , tapi tolong berikan kredit @ toobsco42 untuk itu di bawah ini.
sumber
Dalam kasus saya, saya harus menonaktifkan Instant Run. Sepertinya Instant Run memiliki segala macam efek samping dan ini bisa menjadi salah satunya.
sumber
Masalahnya terkait dengan Android versi 7.x, saya menghapus semua breakpoints dalam fungsi bersarang dan itu berhasil, diuji dengan Android versi 6.0 juga, dan itu bekerja tanpa masalah.
Menurut tanggapan tim pengembang google, itu diperbaiki pada 12/1/2016 dan akan diterapkan pada rilis berikutnya.
sumber
Saya menghapus semua breakpoint dan berhasil, diuji dengan Emulator Pixel API 25.
Untuk menghapus semua breakpoints:
Pergi ke opsi Debugger.
Klik ikon merah yang ada di bawah ini untuk menghentikan debug.
Anda akan melihat jendela di sana Anda dapat menghapus semua breakpoints.
Lihat selengkapnya di pos ini: https://stackoverflow.com/a/42478994/5749462
sumber
Ini karena beberapa masalah dengan titik debug. Hapus semua titik debug dan kemudian akan berfungsi.
sumber
Benar-benar aneh, saya menonaktifkan Instant Run dan masalahnya teratasi sendiri.
sumber
Masalah saya adalah bahwa saya memiliki breakpoint pada pernyataan impor
sumber
Di jendela 5: Debug, Gunakan tombol "Lihat Breakpoints"
Batalkan Pilih Semua dari mereka
sumber
Solusi paling sederhana adalah mencoba menemukan perangkat lain atau emulator (terima kasih AVD Manager kami punya pilihan) yang akan berfungsi sebagai daya tarik tanpa solusi
sumber
Aplikasi saya juga macet hanya saat dalam mode debug. Sedangkan untuk versi 3.5 - "Instant Run" diganti dengan "Apply Changes", jadi saya tidak bisa menonaktifkannya. Solusi saya adalah meluncurkan aplikasi secara normal (dengan panah hijau), navigasikan tepat setelah tempat itu dulu macet dan kemudian lampirkan debugger ke dalamnya:
sumber
Menghapus breakpoint dari Runable.run () memecahkan masalah bagi saya. Saya bisa menggunakan breakpoints saat runtime di dalam Runable.run (). Tetapi tidak pada waktu kompilasi
sumber
Berlari ke masalah yang sama ini tetapi breakpoint saya adalah baris pertama dalam fungsi bersarang jadi bagaimana cara memindahkannya ke tempat lain?
Saya membuat metode pribadi sementara dan membuat doa metode itu hal pertama dalam fungsi dan kemudian saya menetapkan breakpoint dalam metode itu.
Ketika saya selesai men-debug saya menghapus metode dan permohonannya.
sumber
ini adalah kesempatan yang panjang tetapi bagi saya, ketika saya memiliki pernyataan impor yang tidak digunakan, dan impor itu memiliki kode yang menjalankan panggilan jaringan, itu macet untuk saya tetapi ketika menghapusnya, kode tersebut dapat melakukan debug secara normal.
sumber
Mulai mogok hanya saat memulai dengan debugger. Restart Android Studio 2.3.2 ... terus macet. Berjalan dengan baik dalam mode Jalankan. Saya memasukkan Log.d () tepat setelah onCreate ... dan itu menyelesaikan masalahnya! Sosok pergi!
sumber
Hapus Semua titik debug pada aplikasi saya berfungsi dengan baik Anda dapat menggunakan ctrl + shift + f6 untuk menghapus semua titik debug
sumber