Bahasa
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.
Berurusan dengan pengecualian adalah masalah umum, apa pun teknologi atau tingkat keahlian Anda. Ini bisa menjadi pengalaman yang membuat frustrasi mencari tahu mengapa pengecualian menyebabkan masalah dalam kode Anda. Saat Anda men-debug pengecualian di Visual Studio, kami ingin mengurangi frustrasi tersebut dengan memberi Anda informasi pengecualian yang relevan untuk membantu Anda men-debug masalah Anda lebih cepat.
Berhenti pada pengecualian
Ketika debugger berhenti pada pengecualian, ikon kesalahan pengecualian muncul di sebelah kanan baris kode tersebut. Pembantu Pengecualian non-modal akan muncul di dekat ikon pengecualian.
Memeriksa informasi pengecualian
Anda dapat langsung membaca jenis pengecualian dan pesan pengecualian di Pembantu Pengecualian, dan apakah pengecualian dilemparkan atau tidak tertangani. Anda dapat memeriksa dan melihat properti objek Pengecualian dengan mengklik tautan Lihat Rincian.
Menganalisis referensi null
Mulai dari Visual Studio 2017, untuk kode .NET dan C/C++, saat Anda mencapai NullReferenceException atau AccessViolation, Anda akan melihat informasi analisis null di Pembantu Pengecualian. Analisis ditampilkan sebagai teks di bawah pesan pengecualian. Dalam ilustrasi di bawah ini, informasi ditampilkan sebagai "s null.".
Nota
Analisis referensi null dalam kode terkelola memerlukan .NET versi 4.6.2. Analisis null saat ini tidak didukung untuk Universal Windows Platform (UWP) dan aplikasi .NET Core lainnya. Ini hanya tersedia saat men-debug kode yang tidak memiliki pengoptimalan kode Just-In-Time (JIT).
Mengonfigurasi pengaturan pengecualian
Anda dapat mengonfigurasi debugger untuk menghentikan ketika pengecualian jenis saat ini dilemparkan dari bagian Pengaturan Pengecualian dari Pembantu Pengecualian. Jika debugger dijeda pada pengecualian yang dilemparkan, maka Anda dapat menggunakan kotak centang untuk menonaktifkan melanggar jenis pengecualian tersebut saat dilemparkan di masa mendatang. Jika Anda tidak ingin melanggar pengecualian khusus ini saat dilemparkan dalam modul khusus ini, centang kotak centang dengan nama modul di bawah Kecuali ketika dilemparkan dari: di jendela pengaturan pengecualian .
Memeriksa pengecualian dalam
Jika pengecualian memiliki pengecualian dalam (InnerException), Anda dapat melihatnya di Penolong Pengecualian. Jika ada beberapa pengecualian, Anda dapat menavigasi di antara mereka menggunakan panah kiri dan kanan yang diperlihatkan di atas tumpukan panggilan.
Memeriksa pengecualian yang dilempar ulang
Dalam kasus di mana pengecualian telah thrown, Penolong Pengecualian menunjukkan tumpukan panggilan dari pertama kali pengecualian terjadi. Jika pengecualian dilemparkan beberapa kali, hanya tumpukan panggilan dari pengecualian pertama yang ditampilkan.
Memeriksa pengecualian asinkron (.NET)
Dimulai dengan .NET 9, debugger Visual Studio secara otomatis rusak ketika metode Tugas asinkron melemparkan pengecualian dalam kode kerangka kerja .NET. Ini membuatnya lebih mudah untuk men-debug kode asinkron, terutama dalam ASP.NET, karena pengecualian sering dilemparkan ke batas asinkron.
Menampilkan tumpukan panggilan
Mulai Visual Studio 2022 versi 17.3, Anda dapat melihat bingkai tumpukan pengecualian di dalam jendela Call Stack. Untuk pengecualian asinkron, ini menambahkan kemampuan untuk memuat simbol dengan cepat atau menemukan sumber dan langsung masuk ke situs pengecualian. Bingkai tumpukan pengecualian di dalam jendela Call Stack menyediakan fitur tumpukan panggilan standar seperti navigasi otomatis, dengan cepat beralih bolak-balik antara bingkai, beban simbol, dan opsi dekompilasi untuk kembali ke kode sumber tempat pengecualian dilemparkan.
Dapatkan bantuan AI
Jika Anda memiliki Copilot, Anda bisa mendapatkan bantuan dari AI saat melakukan debug pengecualian. Cukup cari Analisis dengan Copilot atau Tanyakan ke Copilot
. Dalam skenario ini, Copilot sudah mengetahui konteks untuk pertanyaan Anda, sehingga Anda tidak perlu memberikan konteks sendiri dalam obrolan. Untuk informasi selengkapnya, lihat Debug dengan Copilot.
Jika Copilot menginginkan akses ke konteks jendela Output untuk membantu menganalisis masalah, Copilot akan meminta izin tersebut di jendela Obrolan. Jika Anda memberikan izin, Anda mengaktifkan Copilot untuk melakukan analisis tambahan pengecualian berdasarkan detail runtime. Pembantu Pengecualian, analisis variabel, inspeksi kode, dan skenario penelusuran kesalahan lainnya mendapatkan akses ke konteks ini untuk sesi debug saat ini.
Mendapatkan bantuan AI dengan konteks repositori
Saat Anda bekerja di Visual Studio dengan repositori Azure DevOps, analisis pengecualian dengan Copilot menggabungkan konteks repositori untuk resolusi pengecualian yang lebih cerdas, lebih cepat, dan lebih tepat. Copilot melakukan referensi silang terhadap repositori yang Anda buka, termasuk bug masa lalu, masalah, permintaan penarikan, dan perbaikan historis untuk memberikan wawasan praktis yang relevan dengan basis kode Anda.
Saat Anda mengalami pengecualian:
- Copilot mengidentifikasi akar penyebab yang paling mungkin, komponen yang terkena dampak, dan potensi perbaikan.
- Copilot memanfaatkan pengetahuan repositori untuk menyoroti masalah sebelumnya yang serupa dan resolusinya, membantu Anda belajar dari perbaikan yang ada.
- Pengecualian kompleks dianalisis dengan konteks penuh, menghubungkan perilaku runtime ke pola historis, sehingga Anda dapat memahami nilai yang tidak terduga atau salah dengan cepat.
- Dengan memunculkan perbaikan dan wawasan yang relevan secara otomatis, Copilot menghemat waktu dan mengurangi uji coba dan kesalahan yang sering diperlukan untuk men-debug masalah yang menantang.
Untuk bug kompleks yang memerlukan diagnosis menyeluruh di luar satu pengecualian, Anda dapat menggunakan Agent Debugger. Agen Debugger menyediakan alur kerja agenik yang mereproduksi, menginstrumen, dan memvalidasi perbaikan menggunakan data runtime secara langsung. Untuk informasi selengkapnya, lihat Penyelesaian bug secara agen menggunakan Agen Debugger.
Berbagi sesi debug dengan Live Share
Dari Pembantu Pengecualian, Anda dapat memulai sesi Berbagi Langsung menggunakan tautan Mulai sesi Berbagi Langsung.... Siapa pun yang bergabung dengan sesi Berbagi Langsung dapat melihat Pembantu Pengecualian bersama dengan informasi debug lainnya.