Saya ingin men-debug seluruh aliran program Java. Apa perbedaan antara F5(melangkah ke) dan F6(melangkah lebih) dalam gerhana?
Saya ingin men-debug seluruh aliran program Java. Apa perbedaan antara F5(melangkah ke) dan F6(melangkah lebih) dalam gerhana?
Jawaban:
Pertimbangkan kode berikut dengan penunjuk instruksi Anda saat ini (baris yang akan dieksekusi berikutnya, ditunjukkan oleh ->
) di f(x)
baris dalam g()
, yang dipanggil oleh g(2)
baris di main()
:
public class testprog {
static void f (int x) {
System.out.println ("num is " + (x+0)); // <- STEP INTO
}
static void g (int x) {
-> f(x); //
f(1); // <----------------------------------- STEP OVER
}
public static void main (String args[]) {
g(2);
g(3); // <----------------------------------- STEP OUT OF
}
}
Jika Anda melangkah ke titik itu, Anda akan pindah ke println()
saluran masuk f()
, masuk ke panggilan fungsi.
Jika Anda adalah untuk melangkah lebih pada saat itu, Anda akan pindah ke f(1)
baris dalam g()
, melangkahi fungsi panggilan.
Fitur lain yang berguna dari para pengingkar adalah langkah keluar atau langkah kembali. Dalam hal ini, langkah pengembalian pada dasarnya akan menjalankan Anda melalui fungsi saat ini sampai Anda naik satu tingkat. Dengan kata lain, itu akan melangkah f(x)
dan f(1)
, kemudian kembali ke fungsi panggilan untuk berakhir g(3)
di main()
.
Eclipse (setidaknya Europa, yang merupakan satu-satunya yang saya miliki saat ini) digunakan F5untuk step into
, F6untuk step over
dan F7untuk step return
.
g(3)
; dalam main()
" <- Apakah Anda mengasumsikan bahwa Anda sampai ke lokasi Anda saat ini dari g(2)
dan setelah Anda semua selesai, Anda kembali ke baris berikutnya g(3)
?
g(2)
atau g(3)
panggilan sedang aktif) jadi saya sudah membersihkannya di paragraf pertama. Terimakasih atas peringatannya.
Saat men-debug baris kode, inilah skenario yang biasa:
Eclipse memiliki fitur debugging canggih lainnya, tetapi ini adalah fundamental dasar.
melangkah masuk akan menggali panggilan metode
melangkah lebih dari hanya akan mengeksekusi baris dan pergi ke yang berikutnya
Anda tidak dapat melihat detail metode dengan menggunakan langkah mundur. Jika Anda ingin melewati garis saat ini, Anda dapat menggunakan langkah, maka Anda hanya perlu menekan F6untuk hanya sekali untuk pindah ke baris berikutnya. Dan jika Anda berpikir ada sesuatu yang salah dalam metode ini, gunakan F5untuk memeriksa detailnya.
Langkah Ke Ekspresi berikutnya pada baris yang saat ini dipilih untuk dieksekusi dipanggil, dan eksekusi ditunda di baris yang dapat dieksekusi berikutnya dalam metode yang dipanggil.
Step Over Baris yang dipilih saat ini dieksekusi dan ditangguhkan pada baris yang dapat dieksekusi berikutnya.