Penelusuran kesalahan dengan Visual Studio untuk Mac
Penting
Visual Studio untuk Mac dijadwalkan untuk dihentikan pada 31 Agustus 2024 sesuai dengan Kebijakan Siklus Hidup Modern Microsoft. Meskipun Anda dapat terus bekerja dengan Visual Studio untuk Mac, ada beberapa opsi lain untuk pengembang di Mac seperti versi pratinjau ekstensi C# Dev Kit baru untuk Visual Studio Code.
Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.
Visual Studio untuk Mac memiliki debugger dengan dukungan untuk aplikasi .NET Core, .NET Framework, Unity, dan Xamarin.
Visual Studio untuk Mac menggunakan Mono Soft Debugger, yang diimplementasikan ke dalam runtime Mono, memungkinkan Visual Studio untuk Mac men-debug kode terkelola di semua platform.
Debugger
Visual Studio untuk Mac menggunakan Mono Soft Debugger untuk men-debug kode terkelola (C# atau F#) di semua aplikasi Xamarin. Debugger Mono Soft berbeda dari debugger reguler karena ini adalah debugger koperasi yang dibangun ke dalam runtime Mono; kode yang dihasilkan dan runtime Mono bekerja sama dengan IDE untuk memberikan pengalaman penelusuran kesalahan. Runtime Mono mengekspos fungsi penelusuran kesalahan melalui protokol kawat, yang dapat Anda baca selengkapnya dalam dokumentasi Mono.
Debugger keras, seperti LLDB atau GDB, mengontrol program tanpa pengetahuan atau kerja sama dari program yang di-debug. Ini masih dapat berguna saat men-debug aplikasi Xamarin jika Anda perlu menelusuri kesalahan kode iOS atau Android asli.
Untuk aplikasi .NET Core dan ASP.NET Core, Visual Studio untuk Mac menggunakan debugger .NET Core. Debugger ini juga merupakan debugger kooperatif dan bekerja dengan runtime .NET.
Menggunakan debugger
Untuk mulai penelusuran kesalahan aplikasi apa pun, selalu pastikan konfigurasi diatur ke Debug. Konfigurasi debug menyediakan sekumpulan alat yang berguna untuk mendukung penelusuran kesalahan, seperti titik henti, menggunakan visualizer data, dan menampilkan tumpukan panggilan:
Mengatur titik henti
Untuk mengatur titik henti di IDE Anda, klik area margin editor Anda, di samping nomor baris kode tempat Anda ingin memutuskan:
Anda dapat melihat semua titik henti yang telah diatur dalam kode Anda dengan masuk ke Jendela Titik Henti:
Mulai penelusuran kesalahan
Untuk memulai penelusuran kesalahan, pilih browser target, perangkat, atau simulator/emulator:
Kemudian sebarkan aplikasi Anda dengan menekan tombol Putar, atau Cmd + return. Saat Anda mencapai titik henti, kode akan disorot dengan warna kuning:
Alat penelusuran kesalahan, seperti yang digunakan untuk memeriksa nilai objek, dapat digunakan pada saat ini untuk mendapatkan informasi selengkapnya tentang apa yang terjadi dalam kode Anda:
Titik henti kondisional
Anda juga dapat menetapkan aturan yang menentukan keadaan di mana titik henti harus terjadi. Ini dikenal sebagai menambahkan titik henti kondisional. Untuk mengatur titik henti kondisional, akses jendela Properti Titik Henti, yang dapat dilakukan dengan dua cara:
- Untuk menambahkan titik henti bersyarat baru, klik kanan pada margin editor, di sebelah kiri nomor baris untuk kode yang ingin Anda atur titik hentinya, dan pilih Titik Henti Baru:
- Untuk menambahkan kondisi ke titik henti yang sudah ada, klik kanan pada titik henti dan pilih Properti Titik Henti, atau, di Jendela Titik Henti, pilih tombol Edit Titik Henti yang diilustrasikan di bawah ini:
Anda kemudian dapat memasukkan kondisi di mana Anda ingin titik henti terjadi:
Melangkah melalui kode
Ketika titik henti telah tercapai, alat Debug memungkinkan Anda untuk mendapatkan kontrol atas eksekusi program. Visual Studio untuk Mac akan menampilkan empat tombol, memungkinkan Anda menjalankan dan menelusuri kode. Di Visual Studio untuk Mac, mereka akan terlihat seperti:
Berikut adalah empat tombol:
- Putar - Ini akan mulai mengeksekusi kode, sampai titik henti berikutnya.
- Step Over - Ini akan menjalankan baris kode berikutnya. Jika baris berikutnya adalah panggilan fungsi, Step Over akan menjalankan fungsi, dan akan berhenti di baris kode berikutnya setelah fungsi.
- Melangkah Ke - Ini juga akan menjalankan baris kode berikutnya. Jika baris berikutnya adalah panggilan fungsi, Melangkah Ke akan berhenti di baris pertama fungsi, memungkinkan Anda untuk melanjutkan penelusuran kesalahan baris demi baris fungsi. Jika baris berikutnya bukan fungsi, baris tersebut akan berulah sama dengan Step Over.
- Keluar - Ini akan kembali ke baris tempat fungsi saat ini dipanggil.
Ubah pernyataan mana yang dijalankan berikutnya
Saat debugger dijeda, panah di margin menunjukkan baris kode mana yang akan dijalankan berikutnya. Anda dapat memilih dan menyeret panah ke baris kode yang berbeda untuk mengubah pernyataan mana yang akan dijalankan. Anda dapat mencapai hal yang sama dengan juga mengklik kanan pada baris kode dan memilih Atur Pernyataan Berikutnya dari menu konteks.
Perhatian
Mengubah baris eksekusi saat ini dapat menyebabkan perilaku tak terduga dalam aplikasi. Ada juga beberapa kondisi di mana mengubah pernyataan berikutnya untuk dijalankan tidak dimungkinkan. Misalnya, menyeret panah dari satu metode ke metode lain tidak akan berfungsi. Dalam kasus yang tidak didukung ini, Visual Studio untuk Mac akan menampilkan dialog untuk memberi tahu Anda bahwa tidak mungkin mengubah baris eksekusi saat ini.
Penelusuran kesalahan pustaka kelas Mono
Produk Xamarin dikirim dengan kode sumber untuk pustaka kelas Mono, dan Anda dapat menggunakan ini untuk satu langkah dari debugger untuk memeriksa bagaimana hal-hal bekerja di bawah tenda.
Karena fitur ini mengonsumsi lebih banyak memori selama penelusuran kesalahan, fitur ini dinonaktifkan secara default.
Untuk mengaktifkan fitur ini, telusuri ke Visual Studio untuk Debugger Preferensi > Mac > dan pastikan bahwa opsi "Masuk ke kode eksternal" dipilih, seperti yang diilustrasikan di bawah ini: