Debugging
Debugging adalah salah satu cara untuk mendeteksi kesalahan/error/bug dalam kode, pada visual studio debugging dapat dijalankan melalui menu "Run and Debug" dan klik tombol "Run and Debug"

Jika diminta memilih environment, pilih ".NET Core"

Setelah dipilih, akan muncul file "launch.json" dengan isi kira kira seperti ini:

Jika tidak muncul bisa di klik ikon 'gear' yang terletak disamping tombol titik-titik:

di file tersebut, ubah "internalConsole" menjadi "integratedTerminal" lalu program bisa di run melalui tombol 'run' segitiga berwarna hijau, setelah itu program akan tampil di terminal.
Breakpoint
Breakpoint digunakan untuk mem-pause program pada posisi tertentu untuk memberi breakpoint, tekan titik merah di samping nomor baris dalam kode, otomatis jika di run & debug program akan ter pause pada baris tersebut.
Untuk melanjutkan eksekusi dapat menekan tombol 'continue' disini:

Step Over
Tombol step over (disamping kanan 'continue') digunakan untuk melanjutkan eksekusi ke baris berikutnya.
Step Into
Tombol step into (disamping kanan 'step over') digunakan untuk melanjutkan eksekusi DAN masuk kedalam method/class/apapun jika ada.
Untuk perbedaan silahkan lihat video yang telah saya cantumkan.
Stop
Tombol stop (paling kiri, bentuknya kotak, merah) digunakan untuk mengakhiri eksekusi program.
Variables
Menu debugging menyediakan tampilan 'variables' yang akan menunjukan semua nilai variabel pada saat posisi saat ini (di debugger).
Watch -- Melacak variable
Selain menu variables yang otomatis, kita juga bisa melacak variable tertentu dengan menekan tombol plus '+' di menu 'Watch', setelah itu ketikkan nama variable nya dan tekan Enter, variable akan mulai dilacak.
Runtime error
Tujuan utama melakukan debugging biasanya adalah mencari tahu runtime error. Apa itu runtime error? runtime error adalah error yang hanya terjadi ketika program dalam kondisi SEDANG dijalankan. Berbeda dengan 'compile-time error' yang terjadi SEBELUM program dijalankan.
Contoh runtime error adalah ketika menggunakan suatu variable reference-type yang null (NullReferenceException), atau mencoba mengakses indeks array yang melebihi batas (ArrayIndexOutOfBound)
Kalian bisa mencari tahu tentang error ini di google, lalu coba pikirkan solusinya dari informasi yang sudah diperoleh.
Latihan
Buatlah proyek baru, copy kode berikut, kode ini adalah kode untnuk menghitung total seluruh nilai siswa, tetapi jika dijalankan ada error gunakanlah teknik debugging untuk mencari tahu masalahnya dan mencari solusinya.
int[] nilaiSiswa = new int[] { 10, 8, 1, 5, 6 };
int total = 0;
for (int i = 0; i <= nilaiSiswa.Length; i++)
{
total += nilaiSiswa[i];
}
Console.WriteLine(total);_Debug_lah kode tersebut sampai tidak ada error
Last updated