Android Studio, logcat membersihkan setelah aplikasi ditutup

133

Saya mengalami masalah dengan logcat saya sejak memperbarui 1.2 Beta untuk Android Studio. Ketika saya menjalankan aplikasi saya, itu mencatat semua hal seperti biasanya, kemudian saya sampai pada titik di mana aplikasi saya crash dengan aplikasi yang mengatakan: sayangnya, Game telah berhenti.

Setelah beberapa detik Android menutup pesan itu. Ketika itu terjadi logcat saya juga akan sepenuhnya dibersihkan yang berarti saya hampir tidak mendapatkan waktu untuk membaca kesalahan. Saya memang menemukan beberapa info tentang buffer, tetapi tampaknya Android Studio tidak memiliki opsi untuk meningkatkannya selain fakta bahwa saya ragu menjadi masalah.

Sesuatu yang mungkin berguna adalah setelah membersihkan dan memasukkan perubahan proses ke Android.process.core dan pesan yang saya dapatkan di logcat saya adalah:

04-13 10:28:13.394  12259-12265/android.process.acore D/dalvikvm    
Debugger has detached; object registry had 1 entries

Sunting: Saya memang membaca tentang breakpoints, jadi menonaktifkan fokus aplikasi pada breakpoints di Settings-build, eksekusi, deployment-debugger tetapi tidak berpengaruh.

Teratai Hitam
sumber
2
Jika Anda menemukan lokasi yang terinstal dari program adb, Anda dapat menjalankannya adb logcatdari terminal atau jendela perintah, dan secara opsional mengirimkannya ke pager, grep, tee, atau apa pun.
Chris Stratton
1
ya, Anda juga dapat mencoba adb shell bugreport > log.txt, jenis info log akan diambil setelah perintah selesai.
lezat
@Yummy bekerja yang terbaik untuk saya untuk saat ini, masih berharap untuk menemukan perbaikan karena ini bukan cara terbaik menurut saya. Terima kasih
Black Lotus
1
Saya tidak menemukan solusi untuk tidak membuat log dibersihkan dengan Android Studio 1.2 tetapi solusi yang mudah adalah dengan tidak mengklik tombol tutup (ke perangkat) ketika aplikasi crash. Dengan demikian, Anda memiliki semua log, dan alasan mengapa aplikasi macet.
Chakir
@Jameltheone Pesan-pesan hanya tinggal di layar selama beberapa detik. Kemudian menutup dialog kerusakan itu sendiri. Jadi tidak benar-benar memiliki kendali atas hal itu.
Black Lotus

Jawaban:

271

Saya memiliki masalah yang sama, tetapi lebih mirip fitur daripada bug:

Di AndroidStudio, pengaturan default untuk jendela Logcat tampaknya adalah "Tampilkan hanya Aplikasi yang dipilih" (sudut kanan atas jendela Logcat) ... yang melihat log dari proses yang dipilih (peluncuran Anda saat ini secara default). Jadi saat aplikasi Anda mogok saat pengujian, proses itu hilang, jadi filter menghapus log.

Alih-alih, pilih "Edit Konfigurasi Filter ..." dan atur filter untuk aplikasi Anda , misalnya:

  • Nama Filter: MyApp
  • PackageName: com.example.myapp (<< ganti dengan nama paket aplikasi Anda)

... dan kemudian pilih filter itu untuk proses selanjutnya. Ini harus menyimpan log di sana untuk Anda, bahkan setelah aplikasi mogok.

maxdownunder
sumber
Terima kasih banyak. Saya telah menemukan kesalahan 2 hari yang lalu! Sekarang saya tahu cara benar-benar melihat kesalahan. :)
Woppi
Anda seorang penyelamat sedang mencoba untuk menyalin tempel log sebelum membersihkan ... mengira itu adalah ponsel saya lakukan karena ponsel lain berperilaku normal.
Master Fathi
Apa yang saya lewatkan. Ini harus menjadi jawaban yang diterima.
Gemuk
Punya masalah yang sama. Bekerja dengan sempurna.
Chandan Pednekar
59

Alihkan "Tampilkan hanya aplikasi yang dipilih" ke "Tidak ada filter". Dengan cara ini, Anda bisa melihat keluaran logcat dari suatu proses bahkan ketika proses itu tidak berjalan.

Kelemahannya adalah logcat Anda akan diisi dengan lebih banyak spam dari proses lain.

Brian Attwell
sumber
1
untuk memfilter spam, ketikkan nama paket aplikasi Anda sendiri di bilah pencarian di samping dropdown "tampilkan hanya aplikasi yang dipilih / tidak ada filter".
computingfreak
24

Aplikasi saya mogok dan mulai ulang. Saya juga memiliki beberapa masalah dalam membaca logcat untuk mengetahui apa yang terjadi. Saya kemudian memperhatikan bahwa di menu drop down, di sebelah dropdown Perangkat itu ada sesuatu seperti "com.mypackage.myapp ('some number')" dan ketika aplikasi saya mogok ada opsi lain yang mengatakan "com.mypackage.myapp ( 'beberapa nomor') [MATI] " . Jika Anda memilih opsi "Mati", itu akan menampilkan logcat dari instance sebelumnya.

LogCat Mati

ALourenco
sumber
Itu muncul ketika crash.
ALourenco
Maksud saya pada crash. PID berubah tetapi instance mati tidak muncul dalam daftar.
Karan Modi
20

Jika terjadi kerusakan, lihat Runtab di bagian bawah IDE.

Anda dapat melihat alasan kerusakan di bagian ini (bahkan dalam kasus logcat clean).

Catatan: Jika trik di atas tidak berhasil cobalah untuk membuat kerusakan dan segera lepaskan kabel ponsel (jika Anda menggunakan perangkat nyata untuk pengujian). Anda dapat melihat kesalahan sebelum dibersihkan.

Pembaruan: Jika trik di atas juga tidak berfungsi, coba pasang dan lepaskan ponsel dan mudah-mudahan masalah terpecahkan.

Update2: Jika sekali lagi tidak berhasil, cobalah untuk Validasi tangkapan dan Restart kemudian mulai debugging lagi.

Update3: Sebagai Cara terakhir, cobalah untuk menghapus aplikasi dan menginstalnya lagi kemudian mulai debugging (jika Anda tidak kehilangan kondisi yang ingin Anda uji)

Amir Hossein Ghasemi
sumber
6

Di Android Studio 2+

  1. Klik Run

  2. Klik Edit Configurations

  3. Di Run/Debug Configurationsjendela pilih Miscellaneoustab

  4. Pastikan Clear log before launchkotak centang tidak dicentang

Flot2011
sumber
4

saya telah menghadapi masalah yang sama dan ini solusinya: -

1- Alat -> Android -> Aktifkan Integrasi ADB.

dan sekarang Anda dapat melihat logcat dan crash seperti biasa

Ziad Gholmish
sumber
Intergrasi ADB saya sudah diaktifkan dengan cukup menyedihkan. Sesuatu yang maby berguna adalah bahwa setelah hilang saya mendapatkan pesan: 04-13 10: 28: 13.394 12259-12265 / android.process.acore D / dalvikvm ﹕ Debugger telah terlepas; registry objek memiliki 1 entri
Black Lotus
@ Blacklotus, apakah Anda sudah memecahkan masalah Anda? Saya menghadapi masalah yang sama di sini
Hoo
Ini tidak lagi berlaku di Android Studio baru.
Hamzeh Soboh
4

Filter menghapus log setelah aplikasi mogok. Jadi pilih "Edit Konfigurasi Filter" dan buat filter khusus Anda sendiri dengan nama filter. Ini akan menyimpan log dengan informasi bahkan ketika aplikasi itu rusak.

Mohammed Nishar
sumber
1

Ini 2018 dan ini masih bisa terjadi. Tutup Android Studio dan buka kembali.

straya
sumber
0

Bug ini tampaknya diperbaiki dengan rilis baru Android Studio versi 1.2.2

Chakir
sumber
1
Bugnya masih ada di sini, bahkan di Android Studio 2.2.2, jadi saya kira @maxdownunder cukup benar dengan asumsi bahwa itu memang ... "fitur"
Aenadon
0

Saya mengalami masalah yang sama dan tidak ada jawaban yang bisa membantu saya, sampai saya menyadari aplikasi saya menyebabkan OutOfMemoryException. Itu kemungkinan penyebab root juga.

Chisko
sumber