Dokumentasi ini membahas pertanyaan umum tentang fitur penelusuran kesalahan di Visual Studio. Ini juga memetakan tugas penelusuran kesalahan atau masalah ke fitur yang relevan di debugger Visual Studio. Tautan ini mencakup tugas atau masalah seperti men-debug aplikasi multi-utas, navigasi kode, kebocoran memori, memeriksa variabel, menggunakan titik henti, penelusuran kesalahan kode eksternal, dan banyak lagi. Jika Anda memerlukan gambaran umum fitur debugger, lihat Pertama-tama lihat debugger sebagai gantinya.
Titik Henti
Bagaimana cara menjeda kode yang sedang berjalan untuk memeriksa baris kode yang mungkin berisi bug?
Atur titik henti. Untuk informasi selengkapnya, lihat Menggunakan jenis titik henti yang tepat dan Mulai menggunakan titik henti.
Bagaimana cara menjeda menjalankan kode berdasarkan kriteria tertentu?
Atur jenis titik henti yang benar. Untuk informasi selengkapnya, lihat Menggunakan jenis titik henti yang tepat.
Bagaimana cara mencatat informasi ke jendela Output dalam kondisi yang dapat dikonfigurasi tanpa memodifikasi atau menghentikan kode saya?
Tracepoints memungkinkan Anda untuk mencatat informasi ke jendela Output dalam kondisi yang dapat dikonfigurasi tanpa memodifikasi atau menghentikan kode Anda. Untuk informasi selengkapnya, lihat Menggunakan titik pelacakan di debugger Visual Studio
Mengelola dan melacak titik henti saya
Gunakan jendela Titik Henti. Untuk informasi selengkapnya, lihat Mengelola titik henti.
Menjeda kode dan debug saat pengecualian tertentu yang ditangani atau tidak tertangani dilemparkan
Meskipun Pembantu Pengecualian menunjukkan tempat kesalahan terjadi, jika Anda ingin menjeda dan men-debug kesalahan tertentu, Anda dapat memberi tahu debugger untuk memutuskan saat pengecualian dilemparkan.
Mengatur titik henti dari tumpukan panggilan
Jika Anda ingin menjeda dan men-debug kode saat memeriksa alur eksekusi atau melihat fungsi di jendela Call Stack, lihat Mengatur titik henti di jendela Call Stack.
Menjeda kode pada instruksi perakitan tertentu
Anda dapat melakukan ini dengan mengatur titik henti dari jendela Pembongkaran.
Menavigasi kode
Bagaimana cara mempelajari perintah untuk menelusuri kode saya saat menelusuri kesalahan?
Untuk informasi selengkapnya, lihat Menavigasi kode dengan debugger.
Dapatkah saya menjalankan kode ke baris tertentu saat melewati titik henti tanpa menghapus atau menonaktifkannya?
Anda dapat menggunakan "Paksa Jalankan Ke Kursor" untuk skenario ini. Anda dapat menyimpan titik henti Anda dan debugger akan melewatinya sampai mencapai baris kode dengan kursor. Ini juga akan melewati salah satu pengecualian kesempatan pertama memutus kondisi yang mungkin terjadi. Untuk informasi selengkapnya, lihat Menavigasi kode dengan debugger.
Jika baris kode saya memiliki panggilan ke metode yang berbeda, dapatkah saya masuk ke metode tertentu?
Klik kanan pada baris kode untuk memunculkan menu konteks yang memungkinkan Anda memilih 'Langkah Ke Spesifik'. Ini akan menampilkan daftar semua metode yang dapat Anda masuki. Anda sekarang dapat memilih metode yang menarik.
Memeriksa dan Memvisualisasikan data
Bagaimana cara memeriksa nilai variabel saat menjalankan aplikasi saya?
Arahkan mouse ke atas variabel menggunakan tips data atau memeriksa variabel di jendela Otomatis dan Lokal.
Dapatkah saya mengamati perubahan nilai variabel tertentu?
Atur jam tangan pada variabel. Untuk informasi selengkapnya, lihat Mengatur jam tangan pada variabel.
Bagaimana cara melihat string yang terlalu panjang untuk jendela debugger?
String Visualizer menunjukkan string yang terlalu panjang untuk tip data atau jendela debugger. Ini juga dapat membantu Anda mengidentifikasi string cacat.
Visualizer string bawaan di Visual Studio mencakup opsi Teks, XML, HTML, dan JSON.Bagaimana cara melihat objek koleksi besar?
Visualizer Himpunan Data memungkinkan Anda melihat konten Himpunan Data, DataTable, DataView, atau DataViewManager. IEnumerable Visualizer memungkinkan Anda melihat objek seperti Array, Daftar, dll. Untuk informasi selengkapnya, lihat visualizer Tabular.
Men-debug aplikasi yang sudah berjalan
Bagaimana cara men-debug aplikasi yang berjalan di komputer lokal atau jarak jauh, men-debug beberapa proses secara bersamaan, men-debug aplikasi yang tidak dibuat di Visual Studio, atau men-debug aplikasi apa pun yang tidak saya mulai dari Visual Studio?
Bagaimana cara melampirkan ke aplikasi yang sama berulang kali?
Anda dapat menggunakan Pasang Ulang untuk Memproses (Shift+Alt+P) untuk dengan mudah memungkinkan Anda mulai men-debug aplikasi Anda dalam satu klik tanpa perlu melalui dialog Lampirkan ke Proses setiap saat. Lihat Memasang kembali ke proses
Men-debug aplikasi multithread
Bagaimana cara men-debug aplikasi multi-utas? Atau, apakah aplikasi saya dalam keadaan menggantung?
Lihat jendela Parallel Stacks pemecahan masalah lebih lanjut
Bagaimana cara melihat urutan fungsi mana yang dipanggil?
Menganalisis memori
Apakah aplikasi saya memiliki kebocoran memori?
Ambil rekam jepret dan buka dengan alat memori untuk memecahkan masalah lebih lanjut. Lihat Mengukur penggunaan memori.
Bagaimana cara menganalisis penggunaan memori untuk aplikasi asli atau terkelola?
Gunakan alat memori Visual Studio melalui penelusuran kesalahan langsung, heap dump, atau profiler performa.
Lihat Pilih alat analisis memori.Bagaimana cara menganalisis penggunaan memori untuk aplikasi asli atau terkelola tanpa melampirkan debugger? Gunakan profiler performa Visual Studio dengan alat penggunaan memori diaktifkan.
Lihat Menganalisis penggunaan memori.Dapatkah saya membandingkan penggunaan memori antara dua titik waktu?
Bandingkan rekam jepret dalam alat memori atau bandingkan dua heap dump menggunakan fungsionalitas diff. Lihat Menganalisis penggunaan memori.
Penelusuran Kesalahan Kode Eksternal
Hanya dapat melihat kode pengguna saat penelusuran kesalahan?
Just My Code adalah fitur penelusuran kesalahan Visual Studio yang secara otomatis melakukan langkah-langkah atas panggilan ke sistem, kerangka kerja, dan kode non-pengguna lainnya. Di jendela Call Stack, Just My Code menciutkan panggilan ini ke dalam bingkai [External Code]. Lihat Debug hanya kode pengguna dengan Just My Code
Bagaimana cara melihat atau men-debug instruksi perakitan mentah yang dijalankan program saya?
Gunakan Jendela Pembongkaran dari Debug > Windows > Disassembly. Anda dapat melangkahi satu instruksi pada satu waktu dan bahkan mengatur titik henti pada instruksi perakitan individual.
Dapatkah saya melihat kode sumber untuk Pustaka .NET?
Aktifkan Server Simbol Microsoft dari Opsi > Debug > Simbol untuk mengunduh simbol dan sumber untuk Pustaka .NET. Lihat Tentukan simbol
Bagaimana cara memuat PDB dari lokasi atau server tertentu atau bersama?
Konfigurasikan Server Simbol Anda dari Opsi > Debug > Simbol. Lihat Tentukan simbol
Bagaimana cara tidak pernah memuat PDB tertentu? Atau, bagaimana saya bisa selalu memuat satu?
Konfigurasikan Daftar Sertakan dan Kecualikan di Debug > Opsi > Simbol.
Lihat Tentukan simbol
Mengonfigurasi penelusuran kesalahan
Bagaimana cara mengonfigurasi pengaturan debugger?
Untuk mengonfigurasi opsi debugger dan pengaturan proyek debugger, lihat pengaturan debugger dan persiapan.
Bagaimana cara menyesuaikan informasi yang ditampilkan di debugger?
Anda mungkin ingin menampilkan informasi selain jenis objek sebagai nilai di jendela debugger yang berbeda. Untuk kode C#, Visual Basic, F#, dan C++/CLI, gunakan atribut DebuggerDisplay. Untuk opsi yang lebih canggih, Anda juga dapat menyesuaikan UI dengan membuat visualizer kustom . Untuk C++asli, gunakan kerangka kerja NatVis .
Tugas tambahan
Apakah saya perlu menyimpan cadangan?
Saat berhenti pada kesalahan atau titik henti selama penelusuran kesalahan, pilih Debug > Simpan Cadangan Sebagai. Lihat file Dump
Bagaimana cara menganalisis file cadangan?
Buka cadangan dengan memilih File > Buka di Visual Studio. Untuk memulai penelusuran kesalahan, pilih Debug denganTerkelola Saja , Debug dengan Hanya Asli, Debug dengan Mixed, atau Debug denganMemori Terkelola . Lihat file Dump
Bisakah saya mengedit kode selama sesi penelusuran kesalahan?
Gunakan Edit dan lanjutkan. Untuk XAML, gunakan XAML Hot Reload.
Bagaimana cara men-debug pada komputer jarak jauh?
Bagaimana cara memperbaiki masalah performa?
Bagaimana cara memperbaiki pengecualian?
Lihat Memperbaiki pengecualian.