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!
Buka Visual Studio. Jika jendela mulai tidak terbuka, pilih Jendela Mulai File>.
Di jendela mulai, pilih Buat proyek baru.
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.
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.
Di jendela Konfigurasikan proyek baru Anda, masukkan GetStartedDebugging di kotak Nama proyek. Kemudian, pilih Berikutnya.
Pilih kerangka kerja target yang direkomendasikan (.NET 8.0 atau Dukungan jangka panjang), lalu pilih Buat.
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.
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.
Di jendela Konfigurasikan proyek baru Anda, masukkan GetStartedDebugging di kotak Nama proyek. Kemudian, pilih Berikutnya.
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!
Tekan F5 (Debug > Mulai Penelusuran Kesalahan) atau tombol Mulai Penelusuran Kesalahan 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.
Hentikan debugger dengan menekan tombol berhenti merah (Shift + F5).
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.
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.
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
Untuk menghentikan debugger, pilih Shift+F5, atau pilih tombol Stop Debugging di toolbar Debug, atau pilih Debug>Stop Debugging dari bilah menu.
Di jendela konsol, pilih kunci apa pun untuk menutup jendela konsol.
Mengatur titik henti dan memulai debugger
Dalam perulangan
for
Main
fungsi, atur titik henti dengan mengklik margin kiri pada baris kode berikut:name += letters[i];
Lingkaran merah 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.
Tekan F5 atau tombol Mulai Penelusuran Kesalahan . Aplikasi dimulai dan debugger berjalan ke baris kode tempat Anda mengatur titik henti.
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.
Dalam perulangan
for
Main
fungsi, atur titik henti dengan mengklik margin kiri pada baris kode berikut:name += letters[i];
Lingkaran merah muncul di tempat Anda menetapkan titik henti.
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.
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.
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.
Menavigasi kode dan memeriksa data dengan menggunakan tips data
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).
Saat eksekusi kode dijeda pada
name += letters[i]
pernyataan, arahkan mouse keletters
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.
Luaskan variabel
letters
untuk melihat propertinya, yang mencakup semua elemen yang berada dalam variabel.Selanjutnya, arahkan kursor ke variabel
name
, dan Anda melihat nilainya saat ini, string kosong.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 untukSendMessage
(yang mungkin saat ini tidak kami minati).Tekan F10 (atau Debug>Step Over) beberapa kali untuk mengulangi beberapa kali melalui perulangan
for
, dijeda lagi di titik henti, dan mengarahkan kursor ke variabelname
setiap kali akan memeriksa nilainya.Nilai variabel berubah dengan setiap pengulangan dari perulangan
for
, menunjukkan nilaif
, lalufr
, lalufre
, 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.
Meskipun eksekusi kode tetap dijeda dalam
for
perulangan dalamMain
metode , tekan F11 (atau pilih Debug > Langkah Ke) hingga Anda menjeda padaSendMessage
panggilan metode.Anda akan berada di baris kode ini:
SendMessage(name, a[i]);
Tekan F11 sekali lagi untuk masuk ke metode.
SendMessage
Penunjuk kuning maju ke metode
SendMessage
.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.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 metodeMain
, dijeda pada pemanggilan metodeSendMessage
. Untuk informasi selengkapnya tentang berbagai cara menelusuri kode, lihat Menavigasi kode di debugger.
Saat eksekusi kode dijeda pada
name += letters[i]
pernyataan, arahkan mouse keletters
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.
Luaskan variabel
letters
untuk menampilkan semua elemen array dan nilainya.Arahkan kursor ke variabel
name
untuk melihat nilainya saat ini, yang merupakan string kosong.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.Untuk mengulangi perulangan
for
beberapa kali, pilih F10 berulang kali. Selama setiap pengulangan perulangan, jeda di titik henti, lalu arahkan kursor ke variabelname
untuk memeriksa nilainya di tip data.Nilai variabel berubah dengan setiap pengulangan dari perulangan
for
, menunjukkan nilaif
, lalufr
, lalufre
, dan seterusnya. Untuk melanjutkan debugger melalui perulangan lebih cepat, pilih F5 sebagai gantinya, yang melanjutkan ke titik henti Anda alih-alih pernyataan berikutnya.Saat eksekusi kode dijeda dalam
for
perulanganMain
metode, pilih F11, atau pilih tombol Masuk dari toolbar Debug, atau pilih Debug>Langkah Ke dalam dari bilah menu, hingga Anda mencapaiSendMessage
panggilan metode.Debugger harus dijeda pada baris kode ini:
SendMessage(name, a[i]);
Untuk masuk ke metode
SendMessage
, pilih F11 lagi.Penunjuk kuning maju ke metode
SendMessage
.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 perulanganfor
metodemain
.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
for
Main
metode, dijeda padaSendMessage
panggilan metode. Untuk informasi selengkapnya tentang berbagai cara menelusuri kode, lihat Menavigasi kode di debugger.
Menavigasi kode menggunakan Jalankan untuk Mengeklik
Tekan F5 untuk maju ke titik henti lagi.
Di editor kode, gulir ke bawah dan arahkan mouse ke
Console.WriteLine
atas metode dalamSendMessage
metode hingga tombol Jalankan ke Klik berwarna hijau muncul. Tipsalat untuk tombol menunjukkan "Jalankan eksekusi ke sini."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.)
Pilih tombol Jalankan untuk Mengeklik.
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).
Tekan F5 untuk maju ke titik henti lagi.
Di editor kode, arahkan mouse ke
Console.WriteLine
atas panggilan metode dalamSendMessage
metode hingga tombol Jalankan ke Klik muncul. Tipsalat untuk tombol menunjukkan "Jalankan eksekusi ke sini."Pilih tombol Jalankan untuk Mengeklik. Atau, dengan kursor pada
Console.WriteLine
pernyataan, pilih Ctrl+F10. Atau, klik kanan panggilan metodeConsole.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 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.
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
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).
Selanjutnya, lihat jendela Lokal, di tab di sebelah jendela Otomatis.
Luaskan variabel
letters
untuk menampilkan elemen yang berada di dalamnya.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.
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.
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.
Di jendela Locals, luaskan variabel
letters
untuk melihat elemen array dan nilainya.
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.
Saat debugger dijeda, klik kanan variabel
name
dan pilih Add Watch.Jendela Watch terbuka secara default di bagian bawah editor kode.
Sekarang setelah Anda mengatur watch pada variabel
name
, telusuri kode Anda untuk melihat nilai perubahan variabelname
dengan setiap pengulangan perulanganfor
.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
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.
Klik F11 beberapa kali hingga Anda melihat debugger dijeda dalam metode
SendMessage
. Lihat jendela Tumpukan Panggilan.Jendela Tumpukan Panggilan menunjukkan urutan metode dan fungsi yang dipanggil. Baris atas menunjukkan fungsi saat ini (metode
SendMessage
di aplikasi ini). Baris kedua menunjukkan bahwaSendMessage
dipanggil dari metodeMain
, 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.
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
.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 metodeSendMessage
dipanggil dari metodeMain
.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
Tekan F11 dua kali untuk menjalankan metode
Console.WriteLine
.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 keConsole.WriteLine
pernyataan.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.
Tekan F5 untuk melanjutkan eksekusi aplikasi.
Selamat atas penyelesaian tutorial ini!
Anda dapat memindahkan pointer eksekusi untuk mengubah alur aplikasi saat melakukan penelusuran kesalahan.
Dengan debugger dijeda pada panggilan metode
SendMessage
dalam perulanganfor
, pilih F11 tiga kali untuk masuk ke metodeSendMessage
dan untuk melewati metodeConsole.WriteLine
setelah menjalankannya.Debugger sekarang dijeda pada kurung kurawal penutup terakhir dari metode
SendMessage
.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
.Pilih F11.
Debugger menjalankan
Console.WriteLine
ulang metode, dan Anda melihat baris duplikat di output jendela konsol.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.