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.
Anda dapat menghabiskan lebih sedikit waktu untuk men-debug aplikasi saat menggunakan IntelliTrace untuk merekam dan melacak riwayat eksekusi kode Anda. Anda dapat menemukan bug dengan mudah karena IntelliTrace memungkinkan Anda:
Merekam peristiwa tertentu
Memeriksa kode terkait, data yang muncul di jendela Lokal selama peristiwa debugger, dan informasi panggilan fungsi
Kesalahan saat debugging yang sulit dihasilkan kembali atau yang terjadi saat penerapan
Anda dapat menggunakan IntelliTrace di edisi Visual Studio Enterprise (tetapi bukan edisi Profesional atau Komunitas).
Apa yang ingin Anda lakukan?
| Skenario | Judul |
|---|---|
|
Debug aplikasi saya dengan IntelliTrace: - Tunjukkan kejadian sebelumnya. - Tunjukkan informasi panggilan dengan peristiwa sebelumnya. - Simpan sesi IntelliTrace saya. - Kontrol data yang dikumpulkan IntelliTrace. |
-
Memeriksa status aplikasi sebelumnya menggunakan IntelliTrace - Panduan: Menggunakan IntelliTrace - Fitur IntelliTrace - Penelusuran Kesalahan Historis |
| Mengumpulkan data IntelliTrace dari aplikasi yang disebarkan | - Menggunakan kolektor mandiri IntelliTrace |
| Mulai melakukan debug dari file log IntelliTrace (file .iTrace). | - Menggunakan data IntelliTrace yang disimpan |
Aplikasi apa yang dapat saya debug dengan IntelliTrace?
| Tingkat dukungan | Tipe aplikasi |
|---|---|
| Dukungan penuh | - Aplikasi Visual Basic dan Visual C# yang menggunakan .NET Framework 2.0 atau versi yang lebih tinggi. Anda dapat men-debug sebagian besar aplikasi, termasuk aplikasi ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013, dan 64-bit. Untuk men-debug aplikasi SharePoint dengan IntelliTrace, lihat Panduan: Men-debug Aplikasi SharePoint dengan Menggunakan IntelliTrace. Untuk men-debug aplikasi Microsoft Azure dengan IntelliTrace, lihat Men-debug Layanan Cloud yang Diterbitkan dengan IntelliTrace dan Visual Studio. |
| Dukungan terbatas | - Aplikasi C++ yang menargetkan Windows mendukung melihat snapshot menggunakan langkah mundur IntelliTrace. Hanya peristiwa debugger dan pengecualian yang didukung. - Aplikasi .NET Core dan ASP.NET Core hanya didukung untuk peristiwa tertentu saja (seperti Pengontrol MVC, ADO.NET, dan peristiwa HTTPClient) selama debugging lokal. Aplikasi .NET Core atau ASP.NET Core tidak mendukung Pengumpul Mandiri. - Aplikasi F# secara eksperimental - Aplikasi UWP hanya didukung untuk even |
| Tidak didukung | - Bahasa dan skrip lainnya - Aplikasi Windows Services, Silverlight, Xbox, atau Windows Mobile |
Nota
Jika Anda ingin men-debug proses yang sudah berjalan, Anda hanya dapat mengumpulkan peristiwa IntelliTrace (tidak ada informasi panggilan). Anda dapat menghubungkan ke proses 32-bit atau 64-bit pada komputer lokal saja. Peristiwa yang terjadi sebelum Anda menghubungkan ke proses tidak dikumpulkan.
Mengapa melakukan debug dengan IntelliTrace?
Debugging tradisional atau langsung hanya menunjukkan kondisi aplikasi Anda saat ini, dengan data yang terbatas tentang kejadian sebelumnya. Anda harus menyimpulkan peristiwa ini berdasarkan status aplikasi saat ini, atau Anda harus membuat ulang peristiwa ini dengan menjalankan ulang aplikasi Anda.
IntelliTrace memperluas pengalaman penelusuran kesalahan tradisional ini dengan merekam peristiwa dan data tertentu pada titik waktu ini. Ini memungkinkan Anda melihat apa yang terjadi dalam aplikasi Anda tanpa memulai ulang, terutama jika Anda melangkah melewati tempat bug berada. IntelliTrace diaktifkan secara default selama penelusuran kesalahan tradisional dan mengumpulkan data secara otomatis dan tak terlihat. Ini memungkinkan Anda beralih dengan mudah antara penelusuran kesalahan tradisional dan penelusuran kesalahan IntelliTrace untuk melihat informasi yang direkam. Lihat Fitur IntelliTrace dan Data apa yang dikumpulkan IntelliTrace?
IntelliTrace juga dapat membantu Anda men-debug kesalahan yang sulit direproduksi atau yang terjadi dalam penyebaran. Anda dapat mengumpulkan data IntelliTrace dan menyimpannya ke file log IntelliTrace (file.iTrace). File .iTrace berisi detail tentang pengecualian, peristiwa performa, Permintaan web, data pengujian, utas, modul, dan informasi sistem lainnya. Anda dapat membuka file ini di Visual Studio Enterprise, memilih item, dan memulai penelusuran kesalahan dengan IntelliTrace. Ini memungkinkan Anda pergi ke peristiwa apa pun dalam file dan melihat detail spesifik tentang aplikasi Anda pada saat itu.
Anda dapat menyimpan data IntelliTrace dari sumber-sumber ini:
Sesi IntelliTrace di Visual Studio 2015 Enterprise atau versi yang lebih baru, atau versi Visual Studio Ultimate sebelumnya.
Aplikasi web ASP.NET yang dihosting di IIS, atau aplikasi SharePoint yang berjalan dalam mode penyebaran ketika Anda menggunakan Microsoft Monitoring Agent, baik sendiri maupun dengan System Center 2012. Lihat Menggunakan kolektor mandiri IntelliTrace dan Pemantauan dengan Microsoft Monitoring Agent.
Penting
Penggunaan Microsoft Monitoring Agent (MMA) dengan IntelliTrace tidak lagi didukung ketika Microsoft Monitoring Agent mencapai akhir masa pakai pada 31 Agustus 2024. Untuk informasi selengkapnya, lihat Migrasi ke Agen Azure Monitor dari agen Analitik Log.
Berikut adalah beberapa contoh bagaimana IntelliTrace dapat membantu Anda men-debug:
Aplikasi Anda telah merusak file data, tetapi Anda tidak tahu di mana peristiwa ini terjadi.
Tanpa IntelliTrace, Anda harus melihat melalui kode untuk menemukan semua kemungkinan akses file, menempatkan titik henti pada akses tersebut, dan menjalankan ulang aplikasi Anda untuk menemukan di mana masalah terjadi. Dengan IntelliTrace, Anda dapat melihat semua peristiwa akses file yang dikumpulkan dan detail spesifik tentang aplikasi Anda saat setiap peristiwa terjadi.
Pengecualian terjadi.
Tanpa IntelliTrace, Anda mendapatkan pesan tentang pengecualian tetapi Anda tidak memiliki banyak informasi tentang peristiwa yang menyebabkan pengecualian. Anda dapat memeriksa tumpukan panggilan untuk melihat rantai panggilan yang mengarah ke pengecualian, tetapi Anda tidak dapat melihat urutan peristiwa yang terjadi selama panggilan tersebut. Dengan IntelliTrace, Anda dapat memeriksa peristiwa yang terjadi sebelum pengecualian.
Bug atau crash terjadi di aplikasi yang telah diterapkan.
Untuk aplikasi berbasis Microsoft Azure, Anda dapat mengonfigurasi pengumpulan data IntelliTrace sebelum menerbitkan aplikasi. Saat aplikasi Anda berjalan, IntelliTrace menyimpan data ke file .iTrace. Lihat Men-debug Layanan Cloud yang Diterbitkan dengan IntelliTrace dan Visual Studio.
Untuk aplikasi web ASP.NET yang dihosting di aplikasi IIS 7.0, 7.5, dan 8.0, dan SharePoint 2010 atau SharePoint 2013, gunakan Microsoft Monitoring Agent, baik sendiri maupun dengan System Center 2012, untuk menyimpan data IntelliTrace ke file .iTrace.
Ini berguna saat Anda ingin mendiagnosis masalah dengan aplikasi dalam penyebaran. Lihat Menggunakan kolektor mandiri IntelliTrace.
Data apa yang dikumpulkan IntelliTrace?
Mengumpulkan informasi peristiwa
Secara default, IntelliTrace hanya merekam peristiwa IntelliTrace: peristiwa debugger, pengecualian, peristiwa .NET Framework, dan peristiwa sistem lainnya yang dapat membantu Anda melakukan debugging. Anda dapat memilih jenis peristiwa IntelliTrace yang ingin Anda kumpulkan, kecuali untuk peristiwa debugger dan pengecualian, yang selalu dikumpulkan. Lihat fitur IntelliTrace.
Peristiwa debugger
IntelliTrace selalu merekam peristiwa yang terjadi di debugger Visual Studio. Misalnya, memulai aplikasi Anda adalah suatu kejadian dalam debugger. Peristiwa debugger lainnya adalah peristiwa penghentian, yang menyebabkan aplikasi Anda menghentikan eksekusi. Misalnya, program Anda mencapai titik henti, mencapai titik pelacakan, atau menjalankan perintah Langkah .
Secara default, untuk membantu performa, IntelliTrace tidak merekam setiap nilai yang mungkin untuk peristiwa debugger. Sebagai gantinya, ia merekam nilai-nilai ini:
Nilai di jendela Lokal . Biarkan jendela Lokal terbuka untuk melihat nilai-nilai ini.
Nilai di jendela Otomatis hanya jika jendela Otomatis terbuka
Nilai di Tips Data yang muncul saat Anda memindahkan penunjuk mouse di atas variabel di jendela sumber untuk melihat nilainya. IntelliTrace tidak mengumpulkan nilai pada DataTips yang dipasangkan.
Ketika mode Peristiwa dan Rekam Jepret IntelliTrace diaktifkan, IntelliTrace akan mengambil rekam jepret proses aplikasi di setiap peristiwa Breakpoint dan Langkah debugger. Ini akan merekam nilai di jendela Lokal, Otomatis, dan Tonton , terlepas dari apakah jendela terbuka atau tidak. Nilai dalam tips data yang disematkan juga akan dikumpulkan.
Pengecualian
IntelliTrace merekam jenis pengecualian dan pesan untuk jenis pengecualian ini:
Pengecualian yang ditangani di mana pengecualian dilemparkan dan ditangkap
Pengecualian yang Tidak Tertangani
Peristiwa .NET Framework
Secara default, IntelliTrace merekam peristiwa .NET Framework yang paling umum. Misalnya, untuk CheckBox.CheckedChanged peristiwa, IntelliTrace mengumpulkan status kotak centang dan teks.
Peristiwa aplikasi SharePoint 2010 dan SharePoint 2013
Anda dapat merekam peristiwa profil pengguna dan subset peristiwa Unified Logging System (ULS) untuk aplikasi SharePoint 2010 dan 2013 yang berjalan di luar Visual Studio. Anda dapat menyimpan peristiwa ini ke file .iTrace. Memerlukan Visual Studio Enterprise 2015 atau versi yang lebih baru, versi Visual Studio Ultimate sebelumnya, atau Microsoft Monitoring Agent yang berjalan dalam mode Pelacakan .
Saat Anda membuka file .iTrace, masukkan ID korelasi SharePoint untuk menemukan permintaan web yang cocok, melihat peristiwa yang direkam, dan memulai penelusuran kesalahan dari peristiwa tertentu. Jika file berisi pengecualian yang tidak tertangani, Anda dapat memilih ID korelasi untuk mulai men-debug pengecualian.
Lihat:
Mengambil cuplikan
Anda dapat mengonfigurasi IntelliTrace untuk mengambil rekam jepret di setiap titik henti dan peristiwa langkah debugger. IntelliTrace merekam status aplikasi lengkap di setiap rekam jepret, yang memungkinkan Anda melihat variabel kompleks dan mengevaluasi ekspresi.
Nota
Kolektor berdiri sendiri IntelliTrace tidak mendukung pengambilan rekam jepret.
Lihat Memeriksa status aplikasi sebelumnya menggunakan IntelliTrace.
Mengumpulkan informasi panggilan fungsi
Anda dapat mengonfigurasi IntelliTrace untuk mengumpulkan informasi panggilan untuk fungsi. Informasi ini memungkinkan Anda melihat riwayat stack panggilan dan memungkinkan Anda melangkah mundur dan maju melalui panggilan dalam kode. Untuk setiap panggilan fungsi, IntelliTrace merekam data ini:
- Nama fungsi
- Nilai jenis data primitif yang diteruskan sebagai parameter di titik masuk fungsi dan dikembalikan pada titik keluar fungsi
- Nilai properti otomatis saat dibaca atau diubah
- Penunjuk ke objek turunan tingkat pertama, tetapi bukan nilainya kecuali apakah bernilai null atau tidak
Nota
IntelliTrace hanya mengumpulkan 256 objek pertama dalam array dan 256 karakter pertama untuk string.
Lihat Periksa aplikasi Anda dengan debugging historis.
Mengumpulkan informasi modul
Untuk mengontrol berapa banyak informasi panggilan yang dikumpulkan IntelliTrace, tentukan hanya modul yang Anda pedulikan. Ini dapat membantu meningkatkan performa aplikasi Anda selama pengumpulan. Lihat bagian Mengontrol berapa banyak informasi yang Dikumpulkan IntelliTrace di fitur IntelliTrace.
Apakah IntelliTrace akan memperlambat aplikasi saya?
Secara default, IntelliTrace hanya mengumpulkan data untuk peristiwa IntelliTrace yang dipilih. Ini mungkin atau mungkin tidak memperlambat aplikasi Anda, tergantung pada struktur dan organisasi kode Anda. Misalnya, jika IntelliTrace sering merekam peristiwa, ini mungkin memperlambat aplikasi Anda. Ini mungkin juga membuat Anda mempertimbangkan untuk merefaktor aplikasi Anda.
Mengumpulkan informasi panggilan mungkin memperlambat aplikasi Anda secara signifikan. Ini juga dapat meningkatkan ukuran file log IntelliTrace apa pun (file.iTrace) yang Anda simpan ke disk. Untuk meminimalkan efek ini, kumpulkan informasi panggilan hanya untuk modul yang Anda pedulikan. Untuk mengubah ukuran maksimum file .iTrace Anda, buka Alat, Opsi, IntelliTrace, Tingkat Lanjut.