Bagikan melalui


Tutorial: Pelajari cara men-debug kode Visual Basic menggunakan Visual Studio

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!

  1. Buka Visual Studio. Jika jendela mulai tidak terbuka, pilihJendela Mulai>.

  2. Di jendela mulai, pilih Buat proyek baru.

  3. 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.

    Cuplikan layar memperlihatkan jendela Buat proyek baru dengan 'konsol' di kotak pencarian, dan 'Visual Basic' dan 'Windows' dipilih untuk filter Bahasa dan Platform, dan templat proyek Aplikasi Konsol dipilih.

    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 .

  4. Di jendela Konfigurasikan proyek baru Anda , untuk Nama proyek, masukkan get-started-debugging. Kemudian, pilih Berikutnya.

  5. Di jendela Informasi tambahan , pastikan .NET 10.0 dipilih untuk Kerangka Kerja, lalu pilih Buat.

  1. Buka Visual Studio. Jika jendela mulai tidak terbuka, pilihJendela Mulai>.

  2. Di jendela mulai, pilih Buat proyek baru.

  3. 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.

    Cuplikan layar memperlihatkan jendela Buat proyek baru di Visual Studio 2022 dengan 'konsol' di kotak pencarian, dan 'Visual Basic' dan 'Windows' dipilih untuk filter Bahasa dan Platform, dan templat proyek Aplikasi Konsol dipilih.

    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 .

  4. Di jendela Konfigurasikan proyek baru Anda , untuk Nama proyek, masukkan get-started-debugging. Kemudian, pilih Berikutnya.

  5. 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!

  1. Tekan F5 (Debug > Mulai Debugging) atau pilih tombol Mulai Debugging hijau di Toolbar Debug.

    Cuplikan layar memperlihatkan Toolbar Debug dengan tombol Mulai Debugging hijau disorot.

    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 10
    

    Dalam tutorial ini, Anda memeriksa aplikasi ini lebih dekat menggunakan debugger dan mempelajari fitur-fitur debugger.

  2. Hentikan debugger dengan menekan (Shift + F5) atau pilih tombol Hentikan Debugging merah di Toolbar Debug.

    Cuplikan layar memperlihatkan Toolbar Debug dengan tombol Hentikan Debugging merah disorot.

  3. Di jendela konsol, tekan tombol 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 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.

  2. 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.

    Cuplikan layar memperlihatkan jendela editor Visual Studio Code dengan eksekusi dihentikan pada 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.

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.

  1. Saat eksekusi kode dijeda dalam For perulangan dalam Main metode, tekan F11 (atau pilih Debug > Masuk) dua kali untuk berlanjut ke pemanggilan metode SendMessage.

    Setelah menekan F11 dua kali, Anda harus berada di baris kode ini:

    SendMessage(name, a(i))

  2. Tekan F11 sekali lagi untuk melangkah ke metode .SendMessage

    Penunjuk kuning maju ke metode SendMessage.

    Cuplikan layar memperlihatkan sesi debug di editor Visual Studio Code dengan eksekusi dijeda setelah melangkah 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 .

  3. 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 For pada metode Main, dijeda pada panggilan metode SendMessage.

  4. Tekan F11 beberapa kali hingga Anda kembali ke SendMessage pemanggilan metode.

  5. Saat eksekusi kode dijeda pada panggilan metode, tekan F10 (atau pilih Debug > Step Over) sekali.

    Cuplikan layar memperlihatkan sesi Debug di editor Visual Studio Code dengan eksekusi dijeda setelah melangkahi panggilan metode 'SendMessage'.

    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 metode SendMessage alih-alih F11, Anda melewati kode implementasi untuk SendMessage. Untuk informasi selengkapnya tentang berbagai cara untuk berpindah melalui kode Anda, lihat Menavigasi kode di debugger.

  1. Tekan F5 untuk melanjutkan ke titik henti lagi.

  2. Di editor kode, gulir ke bawah dan arahkan mouse ke metode Console.WriteLine dalam metode SendMessage hingga tombol Jalankan ke Klik berwarna hijau muncul. Tooltip untuk tombol menunjukkan Jalankan eksekusi ke sini.

    Cuplikan layar memperlihatkan tombol Jalankan ke Klik dengan tooltip disorot di sisi kiri jendela editor kode.

  3. 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.

  1. Saat eksekusi kode dijeda pada name += letters[i] pernyataan, arahkan kursor ke variabel letters. Anda melihat nilai defaultnya, nilai elemen pertama dalam array, "f"c.

  2. Selanjutnya, arahkan mouse ke name atas variabel untuk melihat nilainya saat ini, string kosong.

  3. Tekan F5 (atau Debug>Lanjutkan) beberapa kali untuk melakukan iterasi beberapa kali melalui For perulangan, menjeda lagi di titik henti, dan mengarahkan mouse ke name atas variabel setiap kali untuk memeriksa nilainya.

    Cuplikan layar memperlihatkan eksekusi debug dihentikan di editor kode dengan variabel nama disorot dan tip data yang menunjukkan nilainya.

    Nilai variabel berubah dengan setiap iterasi perulangan For, memperlihatkan nilai f, lalu fr, lalu fre, 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

  1. 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.

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

  3. letters Perluas variabel untuk memperlihatkan elemen yang dikandungnya.

    Cuplikan layar memperlihatkan Jendela Lokal dengan variabel 'huruf' diperluas untuk memperlihatkan nilai dan jenis 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 .

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

    Jendela Watch terbuka secara default di bagian bawah editor kode.

  2. Sekarang setelah Anda memantau variabel name, telusuri kode Anda untuk melihat nilai variabel name berubah dengan setiap iterasi 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.

Periksa tumpukan panggilan

  1. 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.

  2. Pilih F11 hingga beberapa kali sampai Anda melihat debugger berhenti di metode SendMessage. Lihat jendela Call Stack .

    Cuplikan layar memperlihatkan jendela Visual Studio Call Stack dengan panggilan metode SendMessage disorot di baris atas.

    Jendela Call Stack menunjukkan urutan di mana metode dan fungsi dipanggil. Baris atas menunjukkan fungsi saat ini. Dalam contoh ini, ini adalah metode .SendMessage Baris kedua menunjukkan bahwa SendMessage dipanggil dari metode Main, 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

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

  2. 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 pernyataan Console.WriteLine.

  3. 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.

  4. Tekan F5 untuk terus menjalankan aplikasi.

    Selamat atas penyelesaian tutorial ini!

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.