Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperkenalkan fitur debugger Visual Studio dalam panduan langkah demi langkah. Jika Anda menginginkan tampilan tingkat yang lebih tinggi dari fitur debugger, lihat Gambaran Umum debugger Visual Studio. 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.
- Jelajahi kode Anda langkah demi langkah dan perhatikan nilai yang disimpan dalam variabel.
- Atur jam tangan pada variabel untuk melihat kapan nilai berubah.
- Periksa jalur eksekusi kode Anda untuk melihat apakah cabang kode berjalan.
Jika latihan ini adalah pertama kalinya Anda mencoba men-debug kode, Anda mungkin ingin membaca Debugging untuk pemula absolut.
Meskipun aplikasi demonstrasi dalam artikel ini menggunakan Visual Basic, sebagian besar fitur berlaku untuk C#, C++, 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 Visual Basic.
Di tutorial ini, Anda akan:
- Mulai debugger dan tekan titik henti
- Pelajari perintah untuk menelusuri kode di debugger
- Menganalisis variabel dalam petunjuk data dan jendela debugger
- Periksa tumpukan panggilan
Prasyarat
Anda harus menginstal Visual Studio, termasuk beban kerja pengembangan lintas platform .NET Core .
- Jika Anda perlu menginstal Visual Studio, untuk versi gratis, lihat Unduhan Visual Studio.
- Jika Anda perlu menginstal beban kerja tetapi sudah memiliki Visual Studio, buka Alat>Dapatkan Alat dan Fitur..., yang membuka Alat Penginstal Visual Studio. Pilih beban kerja pengembangan desktop .NET, lalu pilih Ubah.
Membuat proyek
Pertama, buat 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, pilihJendela Mulai>.
Di jendela mulai, pilih Buat proyek baru.
Pada jendela Buat proyek baru , di kotak pencarian, masukkan konsol. Selanjutnya, pilih Visual Basic 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.
Nota
Jika Anda tidak melihat templat Console App, Anda dapat menginstalnya dari jendela Membuat proyek baru. Di pesan Tidak menemukan apa yang Anda cari? , pilih tautan Instal alat dan fitur lainnya . Kemudian, di Alat Penginstal Visual Studio, pilih beban kerja pengembangan desktop .NET .
Di jendela Konfigurasikan proyek baru Anda , untuk Nama proyek, masukkan get-started-debugging. Kemudian, pilih Berikutnya.
Di jendela Informasi tambahan , pastikan .NET 10.0 dipilih untuk Kerangka Kerja, lalu pilih Buat.
Buka Visual Studio. Jika jendela mulai tidak terbuka, pilihJendela Mulai>.
Di jendela mulai, pilih Buat proyek baru.
Pada jendela Buat proyek baru , di kotak pencarian, masukkan konsol. Selanjutnya, pilih Visual Basic 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.
Nota
Jika Anda tidak melihat templat Console App, Anda dapat menginstalnya dari jendela Membuat proyek baru. Di pesan Tidak menemukan apa yang Anda cari? , pilih tautan Instal alat dan fitur lainnya . Kemudian, di Alat Penginstal Visual Studio, pilih beban kerja pengembangan desktop .NET .
Di jendela Konfigurasikan proyek baru Anda , untuk Nama proyek, masukkan get-started-debugging. Kemudian, pilih Berikutnya.
Di jendela Informasi tambahan , pastikan .NET 8.0 dipilih untuk Kerangka Kerja, lalu pilih Buat.
Visual Studio membuka proyek baru Anda.
Buat aplikasi
Di Program.vb, ganti semua kode default dengan kode berikut:
Imports System
Class ArrayExample
Public Shared Sub Main()
Dim letters As Char() = {"f"c, "r"c, "e"c, "d"c, " "c, "s"c, "m"c, "i"c, "t"c, "h"c}
Dim name As String = ""
Dim a As Integer() = New Integer(9) {}
For i As Integer = 0 To letters.Length - 1
name += letters(i)
a(i) = i + 1
SendMessage(name, a(i))
Next
Console.ReadKey()
End Sub
Private Shared Sub SendMessage(ByVal name As String, ByVal msg As Integer)
Console.WriteLine("Hello, " & name & "! Count to " & msg)
End Sub
End Class
Mulai debugger!
Tekan F5 (Debug > Mulai Debugging) atau pilih tombol Mulai Debugging hijau di Toolbar Debug.
F5 memulai aplikasi dengan debugger yang tertanam pada proses aplikasi. Sejauh ini, Anda belum melakukan sesuatu yang istimewa untuk memeriksa kode. Aplikasi ini baru saja dimuat 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 10Dalam tutorial ini, Anda memeriksa aplikasi ini lebih dekat menggunakan debugger dan mempelajari fitur-fitur debugger.
Hentikan debugger dengan menekan (Shift + F5) atau pilih tombol Hentikan Debugging merah di Toolbar Debug.
Di jendela konsol, tekan tombol untuk menutup jendela konsol.
Mengatur titik henti dan memulai debugger
Dalam perulangan
ForMainfungsi, atur titik henti dengan mengklik margin kiri pada baris kode berikut:name += letters(i)Lingkaran merah muncul di tempat Anda mengatur titik henti.
Titik henti adalah salah satu fitur paling mendasar dan penting dari debugging yang andal. Titik henti menunjukkan tempat Visual Studio menangguhkan kode anda yang sedang berjalan. Saat ditangguhkan, Anda dapat melihat nilai variabel atau perilaku memori. Anda dapat memeriksa apakah sebuah cabang kode berjalan.
Tekan F5 (Debug > Mulai Debugging) atau tombol Mulai Debugging di Toolbar Debug. Aplikasi dimulai, dan debugger berjalan ke baris kode tempat Anda mengatur titik henti.
Panah kuning mewakili pernyataan di mana debugger berhenti sejenak, yang juga menghentikan 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 saat Anda mengetahui baris kode atau bagian kode yang ingin Anda periksa secara rinci. Untuk informasi tentang berbagai jenis titik henti, lihat Menggunakan titik henti.
Menavigasi kode di debugger menggunakan perintah langkah
Artikel ini menggunakan pintasan keyboard, karena ini adalah cara yang baik untuk cepat mengeksekusi aplikasi Anda di debugger. Ini menunjukkan perintah yang setara, seperti perintah menu, dalam tanda kurung.
Saat eksekusi kode dijeda dalam
Forperulangan dalamMainmetode, tekan F11 (atau pilih Debug > Masuk) dua kali untuk berlanjut ke pemanggilan metodeSendMessage.Setelah menekan F11 dua kali, Anda harus berada di baris kode ini:
SendMessage(name, a(i))Tekan F11 sekali lagi untuk melangkah ke metode .
SendMessagePenunjuk kuning maju ke metode
SendMessage.
F11 adalah perintah Langkah Ke Dalam . Ini memperlancar eksekusi aplikasi satu instruksi pada satu waktu. F11 adalah cara yang baik untuk memeriksa alur eksekusi secara terperinci. Secara default, debugger melompati kode nonpengguna. Untuk informasi selengkapnya, lihat Just My Code.
Andaikan Anda sudah selesai memeriksa metode
SendMessage, dan Anda ingin keluar dari metode tetapi tetap menggunakan debugger. Anda dapat melakukan ini menggunakan perintah Keluar .Tekan Shift + F11 (atau Debug > Melangkah Keluar).
Perintah ini melanjutkan eksekusi aplikasi dan memajukan debugger hingga metode atau fungsi saat ini kembali.
Anda harus kembali ke dalam perulangan
Forpada metodeMain, dijeda pada panggilan metodeSendMessage.Tekan F11 beberapa kali hingga Anda kembali ke
SendMessagepemanggilan metode.Saat eksekusi kode dijeda pada panggilan metode, tekan F10 (atau pilih Debug > Step Over) sekali.
Kali ini debugger tidak memasuki metode
SendMessage. F10 memajukan debugger tanpa melangkah ke fungsi atau metode dalam kode aplikasi Anda. Kode masih dijalankan. Dengan menekan F10 pada panggilan metodeSendMessagealih-alih F11, Anda melewati kode implementasi untukSendMessage. Untuk informasi selengkapnya tentang berbagai cara untuk berpindah melalui kode Anda, lihat Menavigasi kode di debugger.
Menavigasi kode menggunakan Jalankan ke Klik
Tekan F5 untuk melanjutkan ke titik henti lagi.
Di editor kode, gulir ke bawah dan arahkan mouse ke metode
Console.WriteLinedalam metodeSendMessagehingga tombol Jalankan ke Klik berwarna hijau muncul. Tooltip untuk tombol menunjukkan Jalankan eksekusi ke sini.
Pilih tombol Jalankan Sampai Klik.
Debugger melanjutkan ke metode
Console.WriteLine.Menggunakan tombol ini mirip dengan mengatur titik henti sementara. Run to Click berguna untuk menavigasi dengan cepat dalam bagian kode aplikasi yang terlihat, yang dapat Anda pilih di file yang terbuka.
Mulai ulang aplikasi Anda dengan cepat
Untuk memulai ulang aplikasi Anda, tekan kombinasi tombol Ctrl + Shift + F5 . Ini menghemat waktu versus menghentikan aplikasi dan memulai ulang debugger. Debugger berhenti pada titik henti pertama saat kode eksekusi mencapainya.
Debugger berhenti lagi di titik henti yang sebelumnya Anda atur di dalam perulangan For .
Memeriksa variabel dengan petunjuk data
Debugger memiliki fitur yang memungkinkan Anda memeriksa variabel. Ada berbagai cara untuk memeriksa variabel. Seringkali, ketika Anda mencoba men-debug masalah, Anda mencoba mencari tahu apakah variabel menyimpan nilai yang Anda harapkan untuk mereka miliki pada waktu tertentu.
Saat eksekusi kode dijeda pada
name += letters[i]pernyataan, arahkan kursor ke variabelletters. Anda melihat nilai defaultnya, nilai elemen pertama dalam array,"f"c.Selanjutnya, arahkan mouse ke
nameatas variabel untuk melihat nilainya saat ini, string kosong.Tekan F5 (atau Debug>Lanjutkan) beberapa kali untuk melakukan iterasi beberapa kali melalui
Forperulangan, menjeda lagi di titik henti, dan mengarahkan mouse kenameatas variabel setiap kali untuk memeriksa nilainya.
Nilai variabel berubah dengan setiap iterasi perulangan
For, memperlihatkan nilaif, lalufr, lalufre, dan sebagainya.Seringkali, ketika Anda men-debug kode, Anda ingin cara cepat untuk memeriksa nilai properti pada variabel untuk melihat apakah mereka menyimpan nilai yang Anda harapkan untuk disimpan. Panduan data adalah cara yang baik untuk melakukannya.
Memeriksa variabel dengan jendela Otomatis dan Lokal
Lihat jendela Autos di bagian bawah editor kode.
Jika ditutup, buka saat eksekusi kode dijeda di debugger dengan memilih Debug>Windows>Autos.
Di jendela Otomatis , Anda akan melihat variabel dan nilainya saat ini. Jendela Otomatis memperlihatkan semua variabel yang digunakan pada baris saat ini atau baris sebelumnya. Periksa dokumentasi untuk perilaku yang spesifik untuk bahasa tertentu.
Selanjutnya, lihat jendela Lokal , di tab di samping jendela Otomatis .
lettersPerluas variabel untuk memperlihatkan elemen yang dikandungnya.
Jendela Locals menunjukkan kepada Anda variabel yang berada dalam cakupan saat ini, yaitu konteks eksekusi saat ini.
Mengatur arloji
Anda dapat menentukan variabel, atau ekspresi, yang ingin Anda pantau saat menelusuri kode—dengan menambahkannya ke jendela Watch .
Saat debugger dijeda, klik kanan
namevariabel dan pilih Add Watch.Jendela Watch terbuka secara default di bagian bawah editor kode.
Sekarang setelah Anda memantau variabel
name, telusuri kode Anda untuk melihat nilai variabelnameberubah dengan setiap iterasifor.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.
Periksa tumpukan panggilan
Saat eksekusi kode dijeda dalam perulangan
For, pilih jendela Call Stack , yang terbuka secara default di panel kanan bawah.Jika ditutup, buka saat eksekusi kode dijeda di debugger dengan memilih Debug>Windows>Call Stack.
Pilih F11 hingga beberapa kali sampai Anda melihat debugger berhenti di metode
SendMessage. Lihat jendela Call Stack .
Jendela Call Stack menunjukkan urutan di mana metode dan fungsi dipanggil. Baris atas menunjukkan fungsi saat ini. Dalam contoh ini, ini adalah metode .
SendMessageBaris kedua menunjukkan bahwaSendMessagedipanggil dari metodeMain, dan seterusnya.Nota
Jendela Call Stack mirip dengan perspektif Debug di beberapa alat pemrograman seperti Eclipse.
Tumpukan panggilan adalah cara yang baik untuk memeriksa dan memahami alur eksekusi aplikasi.
Anda dapat mengeklik dua kali baris kode program untuk melihat kode sumber tersebut dan itu juga mengubah ruang lingkup saat ini yang sedang diperiksa oleh debugger. Tindakan ini tidak memajukan debugger.
Anda juga dapat menggunakan menu klik kanan dari jendela Call Stack untuk melakukan hal lain. Misalnya, Anda dapat menyisipkan titik henti ke dalam fungsi tertentu, mengoperasikan debugger menggunakan Jalankan ke Kursor, dan mengamati kode sumber. Untuk informasi selengkapnya, lihat Cara: Memeriksa Tumpukan Panggilan.
Mengubah alur eksekusi
Tekan F11 dua kali untuk menjalankan
Console.WriteLinemetode .Dengan debugger dijeda dalam panggilan metode
SendMessage, gunakan mouse untuk mengambil panah kuning atau penunjuk eksekusi di margin kiri, lalu seret penunjuk tersebut ke atas satu baris ke pernyataanConsole.WriteLine.Tekan F11.
Debugger menjalankan ulang metode
Console.WriteLine. Anda melihat tindakan ini di output jendela konsol.Dengan mengubah alur eksekusi, Anda dapat menguji jalur eksekusi kode yang berbeda atau menjalankan ulang kode tanpa memulai ulang debugger.
Peringatan
Seringkali Anda perlu berhati-hati dengan fitur ini. Ada peringatan di tooltip. Anda mungkin melihat peringatan lain juga. Memindahkan pointer tidak dapat mengembalikan aplikasi Anda ke status aplikasi sebelumnya.
Tekan F5 untuk terus menjalankan aplikasi.
Selamat atas penyelesaian tutorial ini!
Konten terkait
Dalam tutorial ini, Anda mempelajari cara memulai debugger, menelusuri kode, dan memeriksa variabel. Anda mungkin ingin melihat fitur debugger tingkat tinggi bersama dengan tautan ke informasi selengkapnya.