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.
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
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
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.
Untuk mengatur titik henti, klik di gutter di sebelah kiri
doWork
panggilan fungsi (atau pilih baris kode dan tekan F9).Sekarang tekan F5 (atau pilih Debug > Mulai Debugging).
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.
Menavigasi kode
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 muncul, lalu tekan tombol Jalankan 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
Di baris kode saat ini (ditandai oleh penunjuk eksekusi kuning), arahkan kursor ke
c1
objek dengan mouse Anda untuk menampilkan tip data.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.Perluas data tips untuk melihat nilai properti saat ini dari objek
c1
.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.
Klik instans
c2.front()
kedua dan ubahc2.front()
kec2.back()
.Tekan F10 (atau Debug > Step Over) beberapa kali untuk memajukan debugger dan menjalankan kode yang diedit.
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.