Pertanyaan Ketika menggunakan debugger Java di Intellij apa artinya "Drop Frame"?


Saya menggunakan debugger Java dalam Intellij 8 dan melihat tombol berlabel "drop frame", apakah ada yang tahu tujuan apa yang ditayangkan ini? Bagaimana / mengapa ini digunakan / berguna?


76
2018-03-02 23:49


asal


Jawaban:


Call stack aplikasi Anda dapat dilihat di debugger. Dengan menggunakan fungsi "Drop Frame" Anda dapat "jatuh kembali" ke frame tumpukan sebelumnya, dalam arti kembali ke masa lalu. Ini dapat berguna untuk memasukkan kembali fungsi jika Anda melewatkan tempat kritis yang ingin Anda lihat lagi.

Seperti nama "Tumpukan Bingkai" menunjukkan, perubahan yang sudah dibuat ke status global (seperti variabel statis, perubahan nilai bidang dan sejenisnya) tidak akan dibatalkan, hanya variabel lokal yang disetel ulang. Ini dapat mengarah ke jalur eksekusi yang berbeda dari yang awalnya mengarah ke titik istirahat Anda. Anda perlu menyadari hal ini - saya sering menganggapnya sebagai fitur yang berguna untuk menjelajahi berbagai jalur eksekusi tanpa harus memulai ulang aplikasi atau proses panjang tertentu yang mengarah ke tumpukan saat ini. Dikombinasikan dengan perubahan nilai variabel juga tersedia melalui debugger, Anda dapat melakukan berbagai hal menarik.

Harap dicatat, bahwa tentu saja, semua efek samping yang mungkin terjadi - e. g. lalu lintas jaringan, manipulasi file, keluaran konsol dll. - tidak dapat diputar ulang.


99
2018-03-03 00:01



Drop Frame dalam muncul debugger   tumpukan frame saat ini dan menempatkan   kontrol kembali ke panggilan   metode, mengatur ulang setiap variabel lokal.   Ini sangat berguna untuk melangkah berulang kali   melalui fungsi, tetapi diperingatkan:   mutasi lapangan atau negara global   perubahan akan tetap ada.

Lihat info lebih lanjut sini.


10
2018-03-02 23:56



Menjatuhkan frame dari stack menggunakan debugger pada dasarnya memungkinkan Anda "memundurkan" eksekusi aplikasi Anda untuk mencapai keadaan sebelumnya. Variabel di luar bingkai tumpukan tidak dikembalikan.

Sebagai catatan tambahan, saya yakin fitur ini disebut "Drop untuk Bingkai "di Eclipse, tetapi melayani tujuan yang sama.


5
2018-03-02 23:55