Periksa aplikasi Anda dengan penelusuran kesalahan historis IntelliTrace di Visual Studio (C#, Visual Basic, C++)
Anda dapat menggunakan penelusuran kesalahan untuk bergerak mundur dan maju melalui eksekusi aplikasi Anda dan memeriksa statusnya.
Anda dapat menggunakan IntelliTrace di edisi Visual Studio Enterprise, tetapi bukan edisi Profesional atau Komunitas.
Menavigasi kode Anda dengan penelusuran kesalahan historis
Mari kita mulai dengan program sederhana yang memiliki bug. Tambahkan kode berikut pada aplikasi konsol C#:
static void Main(string[] args)
{
int testInt = 0;
int resultInt = AddIterative(testInt);
Console.WriteLine(resultInt);
}
private static int AddIterative(int j)
{
for (int i = 0; i < 20; i++)
{
j = AddInt(j);
}
return j;
}
private static int AddInt(int add)
{
if (add == 10)
{
return add += 25;
}
return ++add;
}
Kami akan berasumsi bahwa nilai resultInt
yang diharapkan setelah panggilan AddIterative()
adalah 20 (hasil dari penambahan testInt
20 kali). (Kami juga akan berasumsi bahwa Anda tidak dapat melihat bug di AddInt()
). Tapi hasil sebenarnya adalah 44. Bagaimana kita dapat menemukan bug tanpa masuk melalui AddIterative()
10 kali? Kita dapat menggunakan penelusuran kesalahan historis untuk menemukan bug lebih cepat dan lebih mudah. Berikut caranya:
Pada Opsi > Alat > IntelliTrace > General, pastikan IntelliTrace diaktifkan, dan pilih informasi peristiwa dan panggilan IntelliTrace. Jika Anda tidak memilih opsi ini, Anda tidak akan dapat melihat gutter navigasi (seperti yang dijelaskan di bawah ini).
Atur titik henti
Console.WriteLine(resultInt);
pada baris.Mulai penelusuran kesalahan. Kode dijalankan ke titik henti. Di jendela Lokal, Anda dapat melihat bahwa nilainya
resultInt
adalah 44.Buka jendela Alat Diagnostik (Debug > Tampilkan Alat Diagnostik). Jendela kode akan tampak seperti ini:
Anda akan melihat panah ganda di samping margin kiri, tepat di atas titik henti. Area ini disebut gutter navigasi, dan digunakan untuk penelusuran kesalahan historis. Klik panah.
Di jendela kode, Anda akan melihat bahwa baris kode sebelumnya (
int resultInt = AddIterative(testInt);
) berwarna merah muda. Di atas jendela, Anda akan melihat pesan bahwa Anda sekarang berada dalam penelusuran kesalahan historis.Jendela kode sekarang tampak seperti ini:
Sekarang Anda dapat melangkah ke metode
AddIterative()
(F11, atau tombol Masuk ke dalam di gutter navigasi). Maju ke (F10, atau Buka Panggilan Berikutnya di gutter navigasi). Garis merah muda sekarang di barisj = AddInt(j);
. F10 dalam hal ini tidak melangkah ke baris kode berikutnya. Sebagai gantinya, ini masuk ke panggilan fungsi berikutnya. Penelusuran kesalahan historis menavigasi dari panggilan ke panggilan, dan melewati baris kode yang tidak menyertakan panggilan fungsi.Sekarang melangkah ke metode
AddInt()
. Anda akan segera melihat bug dalam kode ini.
Konten terkait
Prosedur ini hanya menggores permukaan apa yang dapat Anda lakukan dengan penelusuran kesalahan historis.
- Untuk melihat snapshot saat penelusuran kesalahan, lihat Memeriksa status aplikasi sebelumnya menggunakan IntelliTrace.
- Untuk mengetahui selengkapnya tentang berbagai pengaturan dan efek tombol yang berbeda di gutter navigasi, lihat Fitur IntelliTrace.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk