Bagikan melalui


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

Debugger Visual Studio menyediakan banyak fitur canggih untuk membantu Anda men-debug aplikasi Anda. Topik ini menyediakan cara cepat untuk mempelajari beberapa fitur dasar.

Membuat proyek baru

  1. Buka Visual Studio dan buat proyek.

    Jika jendela Mulai belum terbuka, pilih File Jendela Mulai>. Di jendela Mulai, pilih Buat proyek baru. Dalam kotak pencarian, ketik "Proyek kosong", lalu pilih templat Proyek Kosong C++.

    Jika Anda tidak melihat templat proyek, buka Penginstal Visual Studio. Pilih Pengembangan desktop dengan beban kerja C++, lalu pilih Ubah.

    Visual Studio membuat proyek.

    Membuat file sumber baru yang disebut MyDbgApp.cpp

  2. Di MyDbgApp.cpp, ganti kode berikut

    int main()
    {
        return 0;
    }
    

    dengan kode ini (jangan hapus #include "stdafx.h"):

    #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();
    }
    

Mengatur titik henti

Titik henti adalah penanda yang menunjukkan di mana 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. Ini adalah fitur paling mendasar dalam debugging.

  1. Untuk mengatur titik henti, klik di gutter di sebelah kiri doWork panggilan fungsi (atau pilih baris kode dan tekan F9).

    Mengatur titik henti

  2. Sekarang tekan F5 (atau pilih Debug > Mulai Debugging).

    Tekan titik henti

    Debugger berhenti di tempat Anda mengatur titik henti. Pernyataan di mana debugger dan eksekusi aplikasi dijeda ditampilkan oleh panah kuning. Baris dengan panggilan fungsi doWork belum dieksekusi.

    Petunjuk / Saran

    Jika Anda memiliki titik henti dalam perulangan atau rekursi, atau jika Anda memiliki banyak titik henti yang sering Dilalui, gunakan titik henti kondisional untuk memastikan bahwa kode Anda ditangguhkan HANYA saat kondisi tertentu terpenuhi. Titik henti kondisional menghemat waktu dan juga dapat mempermudah debug masalah yang sulit direproduksi.

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

Ada perintah yang berbeda untuk menginstruksikan debugger untuk melanjutkan. Kami menampilkan perintah navigasi kode yang berguna yang tersedia mulai dari Visual Studio 2017.

Saat dijeda di titik henti, arahkan mouse ke atas pernyataan c1.push_back(20) hingga tombol Jalankan untuk mengklik hijau Jalankan untuk Mengklik muncul, lalu tekan tombol Jalankan untuk mengklik .

Aktifkan untuk mengklik

Aplikasi melanjutkan proses, memanggil doWork, dan berhenti sejenak pada baris kode tempat Anda mengklik tombol.

Perintah keyboard umum yang digunakan untuk menelusuri kode termasuk F10 dan F11. Untuk instruksi yang lebih mendalam, lihat Pertama-tama lihat debugger.

Memeriksa variabel dalam penanda data

  1. Di baris kode saat ini (ditandai oleh penunjuk eksekusi kuning), arahkan kursor ke c1 objek dengan mouse Anda untuk menampilkan tip data.

    Menampilkan datatip

    Datatip menunjukkan nilai variabel c1 saat ini dan memungkinkan Anda menginspeksi propertinya. Saat melakukan debug, jika Anda melihat nilai yang tidak Anda harapkan, Anda mungkin memiliki kesalahan logika di baris kode sebelumnya atau baris kode yang memanggil.

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

  3. Jika Anda ingin menyematkan datatip sehingga Anda dapat terus melihat nilai c1 saat menjalankan kode, klik ikon pin kecil. (Anda dapat memindahkan datatip yang disematkan ke tempat yang lebih nyaman.)

Edit kode dan lanjutkan debugging

Jika Anda mengidentifikasi perubahan yang ingin Anda uji dalam kode di tengah sesi debug, Anda juga dapat melakukannya.

  1. Klik instans c2.front() kedua dan ubah c2.front() ke c2.back().

  2. Tekan F10 (atau Debug > Step Over) beberapa kali untuk memajukan debugger dan menjalankan kode yang diedit.

    Edit dan lanjutkan

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

Untuk informasi selengkapnya tentang menggunakan edit dan lanjutkan dan pada batasan fitur, lihat Mengedit dan Melanjutkan.

Langkah berikutnya

Dalam tutorial ini, Anda telah mempelajari cara memulai debugger, menelusuri kode, dan memeriksa variabel. Anda mungkin ingin melihat fitur debugger tingkat tinggi bersama dengan tautan ke informasi lebih lanjut.