Bagikan melalui


Tutorial: Pelajari cara men-debug kode C# menggunakan Visual Studio

Artikel ini memperkenalkan fitur debugger Visual Studio dalam panduan langkah demi langkah. Jika Anda ingin tampilan fitur debugger tingkat tinggi, lihat Pertama-tama lihat debugger. Saat Anda men-debug aplikasi, biasanya berarti Anda menjalankan aplikasi dengan debugger yang terpasang. Saat Anda melakukan tugas ini, debugger menyediakan banyak cara untuk melihat apa yang dilakukan kode Anda saat dijalankan. Anda dapat menelusuri kode Anda dan melihat nilai yang disimpan dalam variabel, Anda dapat mengatur pengawasan pada variabel untuk melihat kapan nilai berubah, Anda dapat memeriksa jalur eksekusi kode Anda, melihat apakah cabang kode sedang berjalan, dan seterusnya. Jika latihan ini adalah pertama kalinya Anda mencoba men-debug kode, Anda mungkin ingin membaca Debugging untuk pemula absolut sebelum melalui artikel ini.

Meskipun aplikasi demo adalah C#, sebagian besar fitur berlaku untuk C++, Visual Basic, F#, Python, JavaScript, dan bahasa lain yang didukung oleh Visual Studio (F# tidak mendukung Edit dan lanjutkan. F# dan JavaScript tidak mendukung jendela Otomatis ). Cuplikan layar berada di C#.

Dalam tutorial ini, Anda akan:

  • Memulai debugger dan menekan titik henti.
  • Mempelajari perintah untuk menelusuri kode di debugger
  • Memeriksa variabel di tips data dan jendela debugger
  • Memeriksa tumpukan panggilan

Prasyarat

Anda harus memasang Visual Studio 2022 dan beban kerja Pengembangan desktop .NET.

Anda harus memasang Visual Studio 2019 dan beban kerja pengembangan lintas platform .NET Core.

Jika Anda belum menginstal Visual Studio, buka halaman pengunduhan Visual Studio untuk menginstalnya secara gratis.

Jika Anda perlu menginstal beban kerja tetapi sudah memiliki Visual Studio, buka Alat>Dapatkan Alat dan Fitur..., yang membuka Alat Penginstal Visual Studio. Alat Penginstal Visual Studio diluncurkan. Pilih beban kerja pengembangan lintas platform .NET Core, lalu pilih Ubah.

Jika Anda sudah memiliki Visual Studio tetapi beban kerja pengembangan desktop .NET belum dipasang, buka Tools>Get Tools and Features..., yang meluncurkan Alat Penginstal Visual Studio. Di Alat Penginstal Visual Studio, pilih beban kerja pengembangan desktop .NET, lalu pilih Ubah.

Membuat proyek

Pertama, Anda membuat proyek aplikasi konsol .NET Core. Jenis proyek dilengkapi dengan semua file templat yang Anda butuhkan, bahkan sebelum Anda menambahkan apa pun!

  1. Buka Visual Studio. Jika jendela mulai tidak terbuka, pilih Jendela Mulai File>.

  2. Di jendela mulai, pilih Buat proyek baru.

  1. Pada jendela Buat proyek baru, masukkan konsol di kotak pencarian. Selanjutnya, pilih C# dari daftar Bahasa, lalu pilih Windows dari daftar Platform.

    Setelah Anda menerapkan filter bahasa dan platform, pilih templat Aplikasi Konsol untuk .NET Core, lalu pilih Berikutnya.

    Screenshot of the C# template for the Console App.

    Catatan

    Jika tidak melihat templat Aplikasi Konsol, Anda dapat menginstalnya dari jendela Buat proyek baru. Di pesan Tidak menemukan apa yang Anda cari?, pilih link Instal alat dan fitur lain. Kemudian, di Alat Penginstal Visual Studio, pilih beban kerja Pengembangan lintas platform .NET Core.

  2. Di jendela Konfigurasikan proyek baru Anda, masukkan GetStartedDebugging di kotak Nama proyek. Kemudian, pilih Berikutnya.

  3. Pilih kerangka kerja target yang direkomendasikan (.NET 8.0 atau Dukungan jangka panjang), lalu pilih Buat.

  1. Pada jendela Buat proyek baru, masukkan konsol di kotak pencarian. Selanjutnya, pilih C# dari daftar Bahasa, lalu pilih Windows dari daftar Platform.

    Setelah Anda menerapkan filter bahasa dan platform, pilih templat Aplikasi Konsol, lalu pilih Berikutnya.

    Screenshot of the 'Console Application' template in the 'Create a new project' window of Visual Studio 2022.

    Catatan

    Jika Anda tidak melihat templat Aplikasi Konsol, Anda dapat menginstalnya dari jendela Buat proyek baru. Di pesan Tidak menemukan apa yang Anda cari?, pilih link Instal alat dan fitur lain. Kemudian, di Alat Penginstal Visual Studio, pilih beban kerja Pengembangan desktop .NET.

  2. Di jendela Konfigurasikan proyek baru Anda, masukkan GetStartedDebugging di kotak Nama proyek. Kemudian, pilih Berikutnya.

  3. Di jendela Informasi tambahan, pastikan .NET 8.0 dipilih di menu dropdown Kerangka Kerja , lalu pilih Buat.

Visual Studio membuka proyek baru Anda.

Buat aplikasi

Di Program.cs, ganti semua kode default dengan kode berikut:

using System;

class ArrayExample
{
   static void Main()
   {
      char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
      string name = "";
      int[] a = new int[10];
      for (int i = 0; i < letters.Length; i++)
      {
         name += letters[i];
         a[i] = i + 1;
         SendMessage(name, a[i]);
      }
      Console.ReadKey();
   }

   static void SendMessage(string name, int msg)
   {
      Console.WriteLine("Hello, " + name + "! Count to " + msg);
   }
}

Mulai debugger!

  1. Tekan F5 (Debug > Mulai Penelusuran Kesalahan) atau tombol Mulai Penelusuran KesalahanImage of the Start Debugging button. di Toolbar Debug.

    F5 memulai aplikasi dengan debugger yang dilampirkan ke proses aplikasi, tetapi saat ini kita belum melakukan sesuatu yang khusus untuk memeriksa kode. Jadi aplikasi hanya dimuat dan Anda melihat output konsol ini.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    Dalam tutorial ini, Anda melihat lebih dekat aplikasi ini menggunakan debugger dan melihat fitur debugger.

  2. Hentikan debugger dengan menekan tombol berhenti merah (Shift + F5). Image of the Stop Debugging button.

  3. Di jendela konsol, tekan tombol untuk menutup jendela konsol.

Biasanya, kami menggunakan pintasan papan ketik di sini, karena ini adalah cara cepat untuk menjalankan perintah debugger. Perintah yang setara, seperti perintah menu atau toolbar, juga dapat digunakan.

  1. Untuk memulai debugger, pilih F5, atau pilih tombol Debug Target di toolbar Standar, atau pilih tombol Start Debugging di toolbar Debug, atau pilih Debug>Start Debugging dari bilah menu.

    Screenshot of the Debug Target button in the Standard toolbar of Visual Studio 2022.

    F5 memulai aplikasi dengan debugger yang dilampirkan ke proses aplikasi. Karena kami belum melakukan sesuatu yang khusus untuk memeriksa kode, aplikasi berjalan hingga selesai dan Anda melihat output konsol.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    
  2. Untuk menghentikan debugger, pilih Shift+F5, atau pilih tombol Stop Debugging di toolbar Debug, atau pilih Debug>Stop Debugging dari bilah menu.

    Screenshot of the Stop debugging button in the Debug toolbar of Visual Studio 2022.

  3. Di jendela konsol, pilih kunci apa pun untuk menutup jendela konsol.

Mengatur titik henti dan memulai debugger

  1. Dalam perulangan forMain fungsi, atur titik henti dengan mengklik margin kiri pada baris kode berikut:

    name += letters[i];

    Lingkaran merah Image of a breakpoint. muncul di tempat Anda menetapkan titik henti.

    Titik henti merupakan salah satu fitur paling mendasar dan penting dari penelusuran kesalahan yang andal. Titik henti menunjukkan tempat Visual Studio harus menangguhkan kode yang sedang berjalan sehingga Anda dapat melihat nilai variabel, atau perilaku memori, atau apakah cabang kode sedang dijalankan atau tidak.

  2. Tekan F5 atau tombol Mulai Penelusuran Kesalahan . Screenshot of the Start Debugging button. Aplikasi dimulai dan debugger berjalan ke baris kode tempat Anda mengatur titik henti.

    Set and hit a breakpoint

    Panah kuning mewakili pernyataan di mana debugger dijeda, yang juga menangguhkan eksekusi aplikasi pada titik yang sama (pernyataan ini belum dijalankan).

    Jika aplikasi belum berjalan, F5 memulai debugger dan berhenti di titik henti pertama. Jika tidak, F5 terus menjalankan aplikasi ke titik henti berikutnya.

    Titik henti adalah fitur yang berguna ketika Anda mengetahui baris kode atau bagian kode yang ingin Anda periksa secara detail. Untuk informasi tentang berbagai jenis titik henti yang dapat ditetapkan, seperti titik henti kondisional, lihat Menggunakan titik henti.

  1. Dalam perulangan forMain fungsi, atur titik henti dengan mengklik margin kiri pada baris kode berikut:

    name += letters[i];

    Lingkaran merah muncul di tempat Anda menetapkan titik henti.

    Screenshot of a breakpoint in Visual Studio 2022.

    Titik henti adalah fitur penting dari penelusuran kesalahan yang andal. Anda dapat menetapkan titik henti di tempat Anda ingin Visual Studio menjeda kode yang sedang berjalan sehingga Anda dapat melihat nilai variabel atau perilaku memori, atau mengetahui apakah cabang kode sedang dijalankan atau tidak.

  2. Untuk memulai penelusuran kesalahan, pilih F5, atau pilih tombol Debug Target di toolbar Standar, atau pilih tombol Start Debugging di toolbar Debug, atau pilih Debug>Start Debugging dari bilah menu. Aplikasi dimulai dan debugger berjalan ke baris kode tempat Anda menetapkan titik henti.

    Screenshot showing a breakpoint in the code editor of Visual Studio 2022, with code execution paused at the breakpoint.

    Panah kuning menunjuk ke pernyataan tempat debugger dijeda. Eksekusi aplikasi dijeda pada titik yang sama, dengan pernyataan belum dijalankan.

    Saat aplikasi tidak berjalan, F5 memulai debugger, yang menjalankan aplikasi hingga mencapai titik henti pertama. Jika aplikasi dijeda pada titik henti, maka F5 akan terus menjalankan aplikasi hingga mencapai titik henti berikutnya.

    Titik henti adalah fitur yang berguna saat Anda mengetahui baris atau bagian kode yang ingin diperiksa secara mendetail. Untuk selengkapnya tentang berbagai jenis titik henti yang dapat Anda tetapkan, seperti titik henti kondisional, lihat Menggunakan titik henti.

Biasanya, kami menggunakan pintasan papan ketik di sini, karena ini adalah cara yang bagus untuk cepat mengeksekusi aplikasi Anda di debugger (perintah yang setara seperti perintah menu ditampilkan dalam tanda kurung).

  1. Saat eksekusi kode dijeda pada name += letters[i] pernyataan, arahkan mouse ke letters atas variabel dan Anda melihat nilai defaultnya, nilai elemen pertama dalam array, char[10].

    Fitur yang memungkinkan Anda untuk memeriksa variabel adalah salah satu fitur yang paling berguna dari debugger, dan ada berbagai cara untuk melakukannya. Seringkali, ketika Anda mencoba men-debug masalah, Anda mencoba mencari tahu apakah variabel menyimpan nilai yang Anda harapkan untuk mereka miliki pada waktu tertentu.

  2. Luaskan variabel letters untuk melihat propertinya, yang mencakup semua elemen yang berada dalam variabel.

    Screenshot of the debugger paused at the 'name+= letters[I]' statement.

  3. Selanjutnya, arahkan kursor ke variabel name, dan Anda melihat nilainya saat ini, string kosong.

  4. Tekan F10 (atau pilih Debug > Step Over) dua kali untuk melanjutkan ke panggilan metode SendMessage, lalu tekan F10 sekali lagi.

    F10 melanjutkan debugger ke pernyataan berikutnya tanpa masuk ke fungsi atau metode dalam kode aplikasi Anda (kode masih dijalankan). Dengan menekan F10 pada panggilan metode SendMessage, kami melompati kode implementasi untuk SendMessage (yang mungkin saat ini tidak kami minati).

  5. Tekan F10 (atau Debug>Step Over) beberapa kali untuk mengulangi beberapa kali melalui perulangan for, dijeda lagi di titik henti, dan mengarahkan kursor ke variabel name setiap kali akan memeriksa nilainya.

    An animated screenshot of the Visual Studio Debugger showing the effect of pressing F10 to

    Nilai variabel berubah dengan setiap pengulangan dari perulangan for, menunjukkan nilai f, lalu fr, lalu fre, dan seterusnya. Untuk melanjutkan debugger melalui perulangan lebih cepat dalam skenario ini, Anda dapat menekan F5 (atau memilih Debug>Continue), yang akan melanjutkan Anda ke titik henti alih-alih pernyataan berikutnya.

    Seringkali, saat men-debug, Anda menginginkan cara cepat untuk memeriksa nilai properti pada variabel, untuk melihat apakah mereka menyimpan nilai yang Anda harapkan untuk disimpan, dan tips data adalah cara yang baik untuk melakukannya.

  6. Meskipun eksekusi kode tetap dijeda dalam for perulangan dalam Main metode , tekan F11 (atau pilih Debug > Langkah Ke) hingga Anda menjeda pada SendMessage panggilan metode.

    Anda akan berada di baris kode ini:

    SendMessage(name, a[i]);

  7. Tekan F11 sekali lagi untuk masuk ke metode.SendMessage

    Penunjuk kuning maju ke metode SendMessage.

    Screenshot of the execution pointer at the SendMessage method.

    F11 adalah perintah Langkah Ke dan memajukan eksekusi aplikasi satu pernyataan di satu waktu. F11 adalah cara yang efisien untuk memeriksa alur eksekusi secara detail. Secara default, debugger melompati kode nonpengguna (jika Anda ingin detail selengkapnya, lihat Hanya Kode Saya).

    Katakanlah Anda sudah selesai memeriksa SendMessage metode , dan Anda ingin keluar dari metode tetapi tetap berada di debugger. Anda dapat melakukannya menggunakan perintah Keluar.

  8. Tekan Shift + F11 (atau Debug > Keluar).

    Perintah ini melanjutkan eksekusi aplikasi (dan melanjutkan debugger) hingga metode atau fungsi saat ini kembali.

    Anda seharusnya kembali ke perulangan for dalam metode Main, dijeda pada pemanggilan metode SendMessage. Untuk informasi selengkapnya tentang berbagai cara menelusuri kode, lihat Menavigasi kode di debugger.

  1. Saat eksekusi kode dijeda pada name += letters[i] pernyataan, arahkan mouse ke letters atas variabel untuk melihat tip data yang menunjukkan ukuran array dan jenis elemen, char[10].

    Catatan

    Salah satu fitur yang paling berguna dari debugger adalah kemampuannya untuk memeriksa variabel. Sering kali, ketika mencoba men-debug masalah, Anda mencoba mencari tahu apakah variabel memiliki nilai yang Anda harapkan pada waktu tertentu. Menampilkan tip data adalah cara yang baik untuk memeriksanya.

  2. Luaskan variabel letters untuk menampilkan semua elemen array dan nilainya.

    Screenshot of a debugger data tip in Visual Studio 2022 that shows the element values for the 'letters' array variable.

  3. Arahkan kursor ke variabel name untuk melihat nilainya saat ini, yang merupakan string kosong.

  4. Untuk melanjutkan debugger ke pernyataan berikutnya, pilih F10, atau pilih tombol Step Over di toolbar Debug, atau pilih Debug>Step Over dari bilah menu. Pilih F10 dua kali lagi untuk melewati panggilan metode SendMessage.

    F10 melanjutkan debugger tanpa masuk ke fungsi atau metode, meskipun kode masih dijalankan. Dengan cara ini, kami melompati penelusuran kesalahan kode dalam metode SendMessage, yang tidak kami minati saat ini.

  5. Untuk mengulangi perulangan for beberapa kali, pilih F10 berulang kali. Selama setiap pengulangan perulangan, jeda di titik henti, lalu arahkan kursor ke variabel name untuk memeriksa nilainya di tip data.

    Screenshot of a debugger data tip in Visual Studio 2022 that shows the string value for the 'name' variable.

    Nilai variabel berubah dengan setiap pengulangan dari perulangan for, menunjukkan nilai f, lalu fr, lalu fre, dan seterusnya. Untuk melanjutkan debugger melalui perulangan lebih cepat, pilih F5 sebagai gantinya, yang melanjutkan ke titik henti Anda alih-alih pernyataan berikutnya.

  6. Saat eksekusi kode dijeda dalam for perulangan Main metode, pilih F11, atau pilih tombol Masuk dari toolbar Debug, atau pilih Debug>Langkah Ke dalam dari bilah menu, hingga Anda mencapai SendMessage panggilan metode.

    Debugger harus dijeda pada baris kode ini:

    SendMessage(name, a[i]);

  7. Untuk masuk ke metode SendMessage, pilih F11 lagi.

    Penunjuk kuning maju ke metode SendMessage.

    Screenshot showing the execution pointer of the debugger within the 'SendMessage' method.

    F11 membantu Anda memeriksa alur eksekusi kode secara lebih mendalam. Untuk masuk ke metode dari panggilan metode, pilih F11. Secara default, debugger melompat ke metode nonpengguna. Untuk mempelajari tentang penelusuran kesalahan kode nonpengguna, lihat Hanya Kode Saya.

    Setelah selesai melakukan penelusuran kesalahan metode SendMessage, Anda siap untuk kembali ke perulangan for metode main.

  8. Untuk meninggalkan metode SendMessage, pilih Shift+F11, atau pilih tombol Step Out di toolbar Debug, atau pilih Debug>Step Out dari bilah menu.

    Step Out melanjutkan eksekusi aplikasi dan melanjutkan debugger hingga metode atau fungsi saat ini kembali.

    Anda melihat penunjuk kuning kembali dalam perulangan forMain metode, dijeda pada SendMessage panggilan metode. Untuk informasi selengkapnya tentang berbagai cara menelusuri kode, lihat Menavigasi kode di debugger.

  1. Tekan F5 untuk maju ke titik henti lagi.

  2. Di editor kode, gulir ke bawah dan arahkan mouse ke Console.WriteLine atas metode dalam SendMessage metode hingga tombol Image of the Run to Click button. Jalankan ke Klik berwarna hijau muncul. Tipsalat untuk tombol menunjukkan "Jalankan eksekusi ke sini."

    Screenshot of the Run to Click button.

    Catatan

    Tombol Jalankan untuk Mengeklik adalah tombol baru di Visual Studio 2017. (Jika Anda tidak melihat tombol panah hijau, gunakan F11 dalam contoh ini untuk melanjutkan debugger ke tempat yang tepat.)

  3. Pilih tombol Jalankan untuk Mengeklik. Image of the Run to Click button.

    Debugger melanjutkan ke metode Console.WriteLine.

    Menggunakan tombol ini mirip dengan menetapkan titik henti sementara. Jalankan ke Klik berguna untuk berkeliling dengan cepat dalam wilayah kode aplikasi yang terlihat (Anda dapat memilih dalam file yang terbuka).

  1. Tekan F5 untuk maju ke titik henti lagi.

  2. Di editor kode, arahkan mouse ke Console.WriteLine atas panggilan metode dalam SendMessage metode hingga tombol Jalankan ke Klik muncul. Tipsalat untuk tombol menunjukkan "Jalankan eksekusi ke sini."

    Screenshot showing the Run to Click button in Visual Studio 2022.

  3. Pilih tombol Jalankan untuk Mengeklik. Atau, dengan kursor pada Console.WriteLinepernyataan, pilih Ctrl+F10. Atau, klik kanan panggilan metode Console.WriteLine, dan pilih Jalankan ke Kursor dari menu pintasan.

    Debugger melanjutkan ke pemanggilan metode Console.WriteLine.

    Menggunakan tombol Jalankan untuk Mengeklik mirip dengan mengatur titik henti sementara, dan berguna untuk berkeliling dengan cepat dalam wilayah kode aplikasi Anda yang terlihat dalam file terbuka.

Menghidupkan ulang aplikasi Anda dengan cepat

Pilih tombol Image of the Restart App button.Mulai Ulang di Toolbar Debug (Ctrl + Shift + F5).

Saat Anda menekan Hidupkan ulang, ini menghemat waktu dibandingkan menghentikan aplikasi dan menghidupkan ulang debugger. Debugger berhenti pada titik henti pertama yang terkena kode eksekusi.

Debugger berhenti lagi pada titik henti yang sebelumnya Anda tetapkan di dalam perulangan for.

Untuk menjalankan ulang aplikasi Anda dari awal di debugger, pilih Ctrl+Shift+F5, atau pilih tombol Restart di toolbar Debug, atau pilih Debug>Restart dari bilah menu.

Screenshot of the Restart button in the Debug toolbar of Visual Studio 2022.

Restart menghentikan debugger lalu memulai ulang, dalam satu langkah. Ketika debugger dimulai ulang, debugger berjalan ke titik henti pertama, yang merupakan titik henti yang sebelumnya Anda atur di dalam for perulangan, lalu jeda.

Memeriksa variabel dengan jendela Otomatis and Lokal

  1. Lihat jendela Otomatis di bagian bawah editor kode.

    Jika ditutup, buka saat dijeda di debugger dengan memilih Debug>Windows>Autos.

    Di jendela Otomatis, Anda melihat variabel dan nilainya saat ini. Jendela Otomatis menampilkan semua variabel yang digunakan pada baris saat ini atau baris sebelumnya (Periksa dokumentasi untuk perilaku khusus bahasa pemrogram).

  2. Selanjutnya, lihat jendela Lokal, di tab di sebelah jendela Otomatis.

  3. Luaskan variabel letters untuk menampilkan elemen yang berada di dalamnya.

    Screenshot of the Locals Window in Visual Studio.

    Jendela Lokal menampilkan variabel yang ada dalam cakupan saat ini, yaitu, konteks eksekusi saat ini.

Jendela Autos dan Locals menampilkan nilai variabel saat Anda melakukan penelusuran kesalahan. Jendela hanya tersedia selama sesi debug. Jendela Autos menunjukkan variabel yang digunakan pada baris saat ini tempat debugger berada dan baris sebelumnya. Jendela Locals menunjukkan variabel yang ditentukan dalam cakupan lokal, yang biasanya merupakan fungsi atau metode saat ini.

  1. Saat debugger dijeda, lihat jendela Otomatis di bagian bawah editor teks kode.

    Jika jendela Autos ditutup, pilih Ctrl+D, A, atau pilih Debug>Windows>Autos dari bilah menu.

  2. Dengan debugger masih dijeda, liha jendela Locals, di tab di samping jendela Autos.

    Jika jendela Locals ditutup, pilih Ctrl+D, L, atau pilih Debug>Windows>Locals.

  3. Di jendela Locals, luaskan variabel letters untuk melihat elemen array dan nilainya.

    Screenshot of the Locals window in Visual Studio 2022, with the 'letters' array variable expanded.

Untuk informasi selengkapnya tentang jendela Autos dan Locals, lihat Memeriksa variabel di jendela Autos dan Locals.

Mengatur jam

Di jendela editor kode utama, klik kanan variabel name dan pilih Tambahkan Pengawas.

Jendela Pengawas terbuka di bagian bawah editor kode. Anda dapat menggunakan jendela Watch untuk menentukan variabel (atau ekspresi) yang ingin Anda pantau.

Sekarang, pengawas sudah ditetapkan pada variabel name, dan Anda dapat melihat nilainya berubah saat menelusuri debugger. Tidak seperti jendela variabel lainnya, jendela Watch selalu menampilkan variabel yang Anda tonton (berwarna abu-abu saat berada di luar cakupan).

Anda dapat menentukan variabel, atau ekspresi, yang ingin dipantau saat menelusuri kode—dengan menambahkannya ke jendela Watch.

  1. Saat debugger dijeda, klik kanan variabel name dan pilih Add Watch.

    Jendela Watch terbuka secara default di bagian bawah editor kode.

  2. Sekarang setelah Anda mengatur watch pada variabel name, telusuri kode Anda untuk melihat nilai perubahan variabel name dengan setiap pengulangan perulangan for.

    Tidak seperti jendela variabel lainnya, jendela Watch selalu menampilkan variabel yang Anda tonton. Variabel yang berada di luar cakupan ditampilkan sebagai tidak tersedia.

Untuk informasi selengkapnya tentang jendela Watch , lihat Variabel watch dengan jendela Watch.

Memeriksa tumpukan panggilan

  1. Saat eksekusi kode dijeda dalam perulangan for , pilih jendela Tumpukan Panggilan, yang secara default terbuka di panel kanan bawah.

    Jika ditutup, buka saat dijeda di debugger dengan memilih Debug>Windows>Call Stack.

  2. Klik F11 beberapa kali hingga Anda melihat debugger dijeda dalam metode SendMessage. Lihat jendela Tumpukan Panggilan.

    Screenshot of the Call Stack window in Visual Studio.

    Jendela Tumpukan Panggilan menunjukkan urutan metode dan fungsi yang dipanggil. Baris atas menunjukkan fungsi saat ini (metode SendMessage di aplikasi ini). Baris kedua menunjukkan bahwa SendMessage dipanggil dari metode Main, dan seterusnya.

    Catatan

    Jendela Tumpukan Panggilan mirip dengan perspektif Debug di beberapa IDE seperti Eclipse.

    Tumpukan panggilan adalah cara yang tepat untuk memeriksa dan memahami alur eksekusi aplikasi.

    Anda dapat mengeklik dua kali baris kode untuk melihat kode sumber tersebut, yang juga mengubah cakupan saat ini di bawah inspeksi oleh debugger. Tindakan ini tidak memajukan debugger.

    Anda juga dapat menggunakan menu klik kanan dari jendela Tumpukan Panggilan untuk melakukan tindakan lain. Misalnya, Anda dapat menyisipkan titik henti ke dalam fungsi tertentu, melanjutkan debugger menggunakan Jalankan ke Kursor, dan memeriksa kode sumber. Untuk informasi selengkapnya, lihat Cara: Memeriksa Tumpukan Panggilan.

Call Stack dapat membantu memahami alur eksekusi aplikasi Anda, dengan menampilkan urutan metode dan fungsi yang dipanggil.

  1. Saat debugger dijeda dalam perulangan for, lihat jendela Tumpukan Panggilan, yang terbuka secara default di panel kanan bawah editor teks kode.

    Jika jendela Call Stack ditutup, pilih Ctrl+D, C, atau pilih Debug>Windows>Call Stack dari bilah menu.

    Di jendela Call Stack , Anda melihat pointer kuning pada metode saat ini Main .

  2. Klik F11 beberapa kali hingga Anda melihat debugger dijeda dalam metode SendMessage.

    Baris atas jendela Call Stack memperlihatkan fungsi saat ini, yang merupakan metode SendMessage. Baris kedua menunjukkan bahwa metode SendMessage dipanggil dari metode Main.

    Screenshot of the Call Stack window in Visual Studio 2022.

    Catatan

    Jendela Call Stack mirip dengan perspektif Debug di beberapa IDE seperti Eclipse.

    Di jendela Call Stack , Anda dapat mengeklik dua kali baris kode untuk masuk ke kode sumber tersebut, yang mengubah cakupan saat ini di bawah inspeksi oleh debugger. Tindakan ini tidak memajukan debugger.

    Anda juga dapat menggunakan menu klik kanan dari jendela Tumpukan Panggilan untuk melakukan tindakan lain. Misalnya, Anda dapat menyisipkan titik henti ke dalam fungsi tertentu, meningkatkan debugger dengan menggunakan Jalankan ke Kursor, atau membuka kode sumber.

Untuk informasi selengkapnya tentang Tumpukan Panggilan, lihat Cara: Memeriksa Tumpukan Panggilan.

Mengubah alur eksekusi

  1. Tekan F11 dua kali untuk menjalankan metode Console.WriteLine.

  2. Dengan debugger dijeda dalam SendMessage panggilan metode, gunakan mouse untuk mengambil panah kuning atau penunjuk eksekusi (di margin kiri), dan seret penunjuk ke atas satu baris ke Console.WriteLine pernyataan.

  3. Tekan F11.

    Debugger menjalankan Console.WriteLine ulang metode (Anda melihat tindakan ini di output jendela konsol).

    Dengan mengubah alur eksekusi, Anda dapat melakukan hal-hal seperti menguji jalur eksekusi kode yang berbeda atau menjalankan kembali kode tanpa menghidupkan ulang debugger.

    Peringatan

    Sering kali Anda perlu berhati-hati dengan fitur ini, dan Anda melihat peringatan di tooltip. Anda mungkin juga melihat peringatan lain. Memindahkan pointer tidak dapat mengembalikan aplikasi Anda ke status aplikasi sebelumnya.

  4. Tekan F5 untuk melanjutkan eksekusi aplikasi.

    Selamat atas penyelesaian tutorial ini!

Anda dapat memindahkan pointer eksekusi untuk mengubah alur aplikasi saat melakukan penelusuran kesalahan.

  1. Dengan debugger dijeda pada panggilan metode SendMessage dalam perulangan for, pilih F11 tiga kali untuk masuk ke metode SendMessage dan untuk melewati metode Console.WriteLine setelah menjalankannya.

    Debugger sekarang dijeda pada kurung kurawal penutup terakhir dari metode SendMessage.

  2. Gunakan mouse untuk mengambil panah kuning atau pointer eksekusi (di margin kiri), lalu seret pointer ke atas satu baris.

    Debugger sekarang kembali pada pernyataan Console.WriteLine.

  3. Pilih F11.

    Debugger menjalankan Console.WriteLine ulang metode, dan Anda melihat baris duplikat di output jendela konsol.

  4. Pilih F5 untuk melanjutkan eksekusi aplikasi.

Dengan mengubah alur eksekusi, Anda dapat melakukan hal-hal seperti menguji jalur eksekusi kode yang berbeda atau menjalankan kembali kode tanpa menghidupkan ulang debugger.

Peringatan

Gunakan fitur ini dengan hati-hati. Anda akan melihat peringatan di tooltip penunjuk eksekusi tentang kemungkinan konsekuensi yang tidak diinginkan. Anda mungkin juga melihat peringatan lain. Memindahkan pointer eksekusi tidak dapat mengembalikan aplikasi Anda ke status sebelumnya.

Untuk informasi selengkapnya tentang mengubah alur eksekusi, lihat Memindahkan pointer untuk mengubah alur eksekusi.

Selamat atas penyelesaian tutorial ini!

Langkah berikutnya

Dalam tutorial ini, Anda telah mempelajari cara memulai penelusur kesalahan, menelusuri kode, dan memeriksa variabel. Anda mungkin ingin melihat fitur debugger tingkat tinggi bersama dengan link ke informasi selengkapnya.