Panduan cepat mulai: Debug dengan C++ menggunakan debugger Visual Studio

Dalam Mulai Cepat ini, Anda menjelajahi cara menggunakan debugger Visual Studio untuk men-debug kode C++ asli Anda. Artikel ini menyediakan cara cepat untuk mempelajari beberapa fitur dasar untuk bekerja di debugger.

Jika Anda tidak memiliki Visual Studio, Anda dapat menginstal versi uji coba free dari halaman Unduhan Visual Studio.

Membuat proyek baru

Mulailah dengan membuat proyek baru, jadi Anda memiliki beberapa kode untuk memeriksa debugger.

  1. Buka Visual Studio dan buat proyek baru.

    • Jika Jendela Mulai tidak terbuka, pilihJendela Mulai>.

    • Di Jendela Mulai, pilih Buat proyek baru.

  2. Di jendela Buat proyek baru , atur filter dan cari templat proyek.

    • Dalam kotak Cari templat , masukkan kosong.

    • Perluas menu tarik-turun Bahasa dan pilih C++.

  3. Dalam daftar hasil, pilih templat Empty Project untuk C++, lalu pilih Baru.

    Jika Anda tidak melihat templat Empty Project untuk C++, pilih opsi Kontinu tanpa kode.

    1. Pilih Tools>Dapatkan Alat dan Fitur... , yang membuka Visual Studio Installer.

    2. Di jendela Penginstal, pilih kotak centang untuk pengembangan Desktop dengan beban kerja C++ , lalu pilih Ubah.

      Penginstalan Visual Studio Anda diperbarui untuk menyertakan workload C++ yang dipilih.

    3. Setelah pembaruan selesai, pilihJendela Mulai>, dan ikuti instruksi sebelumnya untuk memilih templat yang diperlukan.

  4. Konfigurasikan proyek baru:

    1. Masukkan nama Project dan nama Solution, atau gunakan nilai default.

    2. Gunakan Lokasi default atau pilih telusuri (...) untuk membuat proyek di folder lain.

    3. Pilih Buat.

    Visual Studio membuat proyek baru Anda dan menambahkan file proyek di folder yang ditentukan.

Menambahkan file proyek

Tambahkan file kode sehingga Anda memiliki konten untuk diuji di debugger.

  1. Di panel Penjelajah Solusi, klik kanan <proyct-name> dan pilih Tambahkan> Item Baru.

    Jika Anda tidak melihat panel Penjelajah Solusi, pilih Tampilkan>Penjelajah Solusi.

  2. Dalam dialog Tambahkan item baru , masukkan nama file MyDbgApp.cpp, lalu pilih Tambahkan.

    File terbuka di editor kode.

  3. Tambahkan kode berikut ke file baru.

    #include <list>
    #include <iostream>
    
    using namespace std;
    
    void doWork() {
        list <int> c1;
    
        c1.push_back(10);
        c1.push_back(20);
    
        const list <int> c2 = c1;
        const int &i = c2.front();
        const int &j = c2.front();
        cout << "The first element is " << i << endl;
        cout << "The second element is " << j << endl;
    }
    
    int main() {
        doWork();
    }
    
  4. Simpan perubahan file Anda dengan pintasan keyboard Ctrl+S .

Mengatur titik henti

breakpoint adalah penanda yang menunjukkan di mana Visual Studio harus menghentikan sementara eksekusi kode yang sedang berjalan. Saat titik henti diatur, Anda dapat melihat nilai variabel saat ini, memeriksa perilaku memori, dan memeriksa apakah cabang kode tertentu berjalan. Breakpoint adalah fitur yang paling dasar dalam debugging.

  1. Untuk mengatur titik henti, temukan panggilan ke doWork() fungsi dalam kode, lalu pilih di selokan kiri pada baris yang sama.

    Saat titik henti ditetapkan, titik merah muncul di margin kiri pada baris kode yang sesuai.

    Screenshot yang menunjukkan cara mengatur titik henti di Visual Studio debugger.

    Cuplikan layar yang menunjukkan cara menetapkan titik henti di debugger Visual Studio 2022.

  2. Mulai penelusuran kesalahan dengan menggunakan pintasan keyboard F5 (atau pilih Debug>Mulai Penelusuran Kesalahan).

    Cuplikan layar yang memperlihatkan debugger dalam keadaan dijeda pada titik henti yang telah ditetapkan di Visual Studio.

    Screenshot yang memperlihatkan debugger dijeda pada titik henti yang ditetapkan di Visual Studio 2022.

    Eksekusi kode dihentikan sementara tepat sebelum pemanggilan fungsi doWork().

    Debugger berhenti di tempat Anda mengatur titik henti. Panah kuning mengidentifikasi pernyataan di mana debugger menjeda eksekusi aplikasi.

    Petunjuk / Saran

    Saat men-debug kegagalan terkait memori dalam kode C++, Anda juga dapat menggunakan titik henti untuk memeriksa nilai alamat (cari NULL) dan jumlah referensi.

Atur titik henti bersyarat

Jika Anda mengatur titik henti dalam perulangan atau rekursi, atau jika Anda memiliki banyak titik henti yang sering Dilalui, gunakan titik henti kondisional.

Pendekatan ini membantu memastikan kode Anda ditangguhkan hanya ketika kondisi tertentu terpenuhi. Titik henti kondisional dapat menghemat waktu dan juga memudahkan untuk men-debug masalah yang sulit direproduksi.

Menelusuri kode Anda

Visual Studio menyediakan beberapa cara berbeda untuk menginstruksikan debugger untuk melanjutkan eksekusi aplikasi. Contoh berikut menunjukkan perintah yang berguna untuk menelusuri kode Anda.

Saat kode dijeda di titik henti, arahkan mouse ke atas pernyataan c1.push_back(20) hingga Anda melihat ikon Jalankan untuk mengklik hijau (Jalankan eksekusi ke sini). Pilih ikon .

Cuplikan layar yang menunjukkan cara menggunakan aksi Run to Click di debugger Visual Studio.

Saat kode dijeda di titik henti, arahkan mouse ke atas pernyataan c1.AddLast(20) hingga Anda melihat ikon Jalankan untuk mengklik hijau (Jalankan eksekusi ke sini). Pilih ikon .

Cuplikan layar yang menunjukkan cara menggunakan tindakan Jalankan hingga klik di debugger Visual Studio 2022.

Aplikasi melanjutkan eksekusi, panggilan doWork, dan jeda pada baris kode tempat Anda memilih Jalankan untuk mengklik.

Perintah keyboard umum yang digunakan untuk menelusuri kode termasuk F10 dan F11. Untuk instruksi yang lebih mendalam, lihat Gambaran umum debugger Visual Studio.

Memeriksa variabel dalam tip data

Anda dapat memeriksa status variabel Anda dengan menggunakan fitur tip data .

  1. Pada baris kode saat ini (ditandai oleh penunjuk eksekusi kuning), arahkan kursor ke objek c1 untuk melihat tooltip data.

    Cuplikan layar yang menunjukkan cara melihat info data untuk variabel kode di debugger Visual Studio.

    Screenshot yang menunjukkan cara melihat data tips untuk variabel kode di debugger Visual Studio 2022.

    Tips data menunjukkan nilai c1 variabel saat ini dan memungkinkan Anda memeriksa propertinya.

    Saat Anda melakukan debug, jika Anda melihat nilai variabel yang tidak terduga, kemungkinan ada bug. Bug dapat berada dalam kode yang melakukan panggilan ke variabel atau di baris sebelumnya.

  2. Perluas tip data untuk melihat nilai properti dari objek c1 saat ini.

  3. Untuk terus memeriksa nilai c1 saat kode dieksekusi, pilih ikon sematkan pada tooltip data.

    Aksi sematkan membuat keterangan data tetap terbuka. Saat kode dijalankan, nilai dalam tip yang disematkan berubah untuk menampilkan status objek yang diawasi saat ini.

    Anda dapat memindahkan tooltip yang disematkan ke lokasi mana pun di IDE, sehingga tidak menghalangi Anda untuk memantau item lain saat melakukan debug.

Aktifkan hot reload saat debugging

Saat melakukan debug, jika Anda melihat ada perubahan yang ingin diuji pada kode, Anda dapat menggunakan fitur Hot Reload (sebelumnya disebut Edit and Continue).

  1. Pilih instans c2.front() pernyataan kedua, dan ubah kode menjadi c2.back().

  2. Pilih F10 beberapa kali (atau pilih Debug>Step Over beberapa kali) untuk menjalankan debugger selangkah demi selangkah dan mengeksekusi kode yang telah diedit.

    Animation yang menunjukkan cara mengedit dan melanjutkan fitur 'Hot Reload' di Visual Studio debugger.

    Animation yang menunjukkan cara mengedit dan melanjutkan debugger Visual Studio 2022.

    F10 memajukan debugger satu pernyataan dalam satu waktu, melewati fungsi bukan masuk ke dalamnya (kode yang dilewati masih tetap dijalankan).

Untuk informasi selengkapnya tentang fitur dan batasan, lihat Konfigurasi Hot Reload.

Langkah selanjutnya