Latihan - Mengatur titik henti
Breakpoint digunakan untuk menghentikan eksekusi selama proses debug. Ini memungkinkan Anda melacak variabel dan memeriksa urutan di mana kode Anda dijalankan. Titik henti adalah cara yang bagus untuk memulai proses debug Anda.
Mengatur titik henti
Sebelumnya dalam modul ini Anda menyelesaikan latihan di mana Anda menjalankan aplikasi di debugger. Aplikasi menampilkan "pesan salam" di panel KONSOL DEBUG. Di akhir latihan, Anda melihat bahwa kode mengulangi salam Andrew dengan cara yang tidak terduga.
Dalam latihan ini, Anda akan menggunakan titik henti untuk membantu mengidentifikasi masalah.
Pastikan file Program.cs Anda berisi sampel kode berikut:
/* This code uses a names array and corresponding methods to display greeting messages */ string[] names = new string[] { "Sophia", "Andrew", "AllGreetings" }; string messageText = ""; foreach (string name in names) { if (name == "Sophia") messageText = SophiaMessage(); else if (name == "Andrew") messageText = AndrewMessage(); else if (name == "AllGreetings") messageText = SophiaMessage(); messageText = messageText + "\n\r" + AndrewMessage(); Console.WriteLine(messageText + "\n\r"); } bool pauseCode = true; while (pauseCode == true); static string SophiaMessage() { return "Hello, my name is Sophia."; } static string AndrewMessage() { return "Hi, my name is Andrew. Good to meet you."; }Gunakan alat debugger Visual Studio Code untuk mengatur titik henti pada baris kode pertama di dalam perulangan
foreach.
Petunjuk / Saran
Salah satu opsi mudah untuk mengaktifkan/menonaktifkan titik henti adalah memilih (klik kiri) area di sebelah kiri nomor baris. Titik henti juga dapat diatur dengan menggunakan
Runmenu dan dengan menggunakan pintasan keyboard.Pada menu Jalankan, pilih Mulai Debugging.
Perhatikan bahwa eksekusi kode dijeda di titik henti, dan bahwa baris kode saat ini disorot di Editor.
Pada toolbar Kontrol debug , pilih Langkah Ke Dalam.
Anda dapat mengarahkan penunjuk mouse ke atas tombol pada toolbar kontrol Debug untuk menampilkan label tombol.
Perhatikan bahwa eksekusi kode maju ke baris kode berikut dan jeda:
messageText = SophiaMessage();Baris kode ini menetapkan nilai pengembalian metode
SophiaMessageke variabel stringmessageText.Luangkan waktu sejenak untuk mempertimbangkan mengapa memilih Step Into menghasilkan hasil ini.
- Tombol Masuk digunakan untuk melanjutkan ke pernyataan yang dapat dieksekusi berikutnya.
- Karena elemen pertama dalam
namesarray adalahSophiadanifpernyataan sedang memeriksa namaSophia, ekspresi dievaluasi sebagaitruedan eksekusi kode berpindah ke blok kode pada pernyataanif.
Pada toolbar Kontrol debug , pilih Langkah Ke Dalam.
Perhatikan bahwa eksekusi kode berlanjut ke metode
SophiaMessagedan berhenti sejenak.Tombol Masuk telah maju ke baris kode yang dapat dieksekusi berikutnya. Baris kode yang dapat dieksekusi berikutnya bukan nomor baris berikutnya dalam file, itu adalah pernyataan berikutnya di jalur eksekusi. Dalam hal ini, pernyataan yang dapat dieksekusi berikutnya adalah titik masuk ke metode
SophiaMessage.Pada toolbar Kontrol debug , pilih Keluar.
Perhatikan bahwa eksekusi kode kembali ke baris kode yang memanggil metode
SophiaMessagekemudian berhenti sejenak.Luangkan waktu sejenak untuk mempertimbangkan mengapa memilih Langkah Keluar menghasilkan hasil ini.
Ketika berada di dalam metode, tombol Keluar melengkapi baris yang tersisa dari metode saat ini dan kemudian kembali ke konteks eksekusi yang memanggil metode .
Pada toolbar Kontrol debug , pilih Langkah Ke Dalam.
Perhatikan bahwa eksekusi kode maju ke baris kode berikut dan jeda:
messageText = messageText + "\n\r" + AndrewMessage();Luangkan waktu sejenak untuk mempertimbangkan mengapa eksekusi dimajukan ke baris kode ini.
Meskipun indentasi kode menyiratkan bahwa baris kode ini termasuk dalam blok kode untuk pernyataan
else if, sebenarnya tidak demikian. Menggunakan kurung kurawal{}untuk menentukan blok kode untuk struktur iniif - else ifakan membantu menghindari bug ini. Saat kode ditulis, pesan Andrew akan ditambahkan kemessageTextsetiap kali perulangan berulang.
Memverifikasi pembaruan kode Anda
Setelah mengisolasi masalah dalam kode, Anda harus memperbarui kode lalu memverifikasi bahwa masalah telah diperbaiki.
Pada toolbar Kontrol debug , pilih Hentikan.
Luangkan waktu semenit untuk memperbaiki logika kode Anda.
Anda memiliki beberapa opsi untuk memperbaiki masalah yang diidentifikasi dalam kode Anda. Contohnya:
Anda dapat menyimpan baris kode yang ada dan menambahkan kurung kurawal
{}keifstruktur untuk setiap blok kode.Anda dapat menggabungkan dua baris kode yang mengikuti pernyataan akhir
else if, membentuk satu pernyataan sebagai berikut:else if (name == "AllGreetings") messageText = SophiaMessage() + "\n\r" + AndrewMessage();
Bagaimanapun, kode yang diperbarui harus menyertakan panggilan ke
AndrewMessagedalam blok kode saatname == "AllGreetings".Pada menu File , pilih Simpan.
Gunakan alat antarmuka pengguna debugger untuk menghapus titik henti yang Anda tetapkan sebelumnya.
Pada menu Jalankan, pilih Mulai Debugging.
Verifikasi bahwa kode Anda sekarang menghasilkan hasil yang diharapkan.
Hello, my name is Sophia. Hi, my name is Andrew. Good to meet you. Hello, my name is Sophia. Hi, my name is Andrew. Good to meet you.Pada toolbar Kontrol debug , pilih Hentikan.
Selamat! Anda berhasil menggunakan debugger Visual Studio Code untuk membantu Anda mengisolasi dan memperbaiki masalah logika.
Ringkasan
Berikut adalah beberapa hal penting yang perlu diingat dari unit ini:
- Gunakan titik henti untuk menjeda eksekusi kode selama sesi debug.
- Gunakan Langkah Ke dalam dari toolbar kontrol Debug untuk mengamati baris kode yang dapat dieksekusi berikutnya.
- Gunakan Langkah Keluar dari toolbar kontrol Debug untuk melanjutkan melalui metode saat ini dan kembali ke baris kode yang disebut metode .