Bagikan melalui


Instrumentasi di Visual Studio (C#, Visual Basic, C++, F#)

Artikel ini menjelaskan alat instrumentasi di Visual Studio, yang digunakan untuk mengumpulkan jumlah panggilan dan waktu panggilan yang tepat.

Ada dua jenis instrumentasi:

  • Statis, yang memodifikasi file program sebelum berjalan (VSInstr)

  • Dinamis, yang menggunakan proses dinamis di mana tidak mengubah file. Ini memuat file ke memori dan kemudian memodifikasinya untuk mengumpulkan info instrumentasi. Menggunakan alat instrumentasi dinamis, Anda mendapatkan informasi yang lebih akurat, tetapi untuk bagian yang lebih kecil dari program. Anda dapat menyelidiki bagian kecil kode.

Instrumentasi dinamis sangat membantu karena:

  • Instrumentasi statis memutus penandatanganan nama yang kuat. Dengan instrumentasi dinamis, masalah ini dihindari karena instrumentasi terjadi pada runtime.

  • Dengan instrumentasi statis, file perlu disebarkan dalam urutan tertentu dan alat ini mungkin tidak tahu di mana file berada. Anda perlu menjalankan VSInstr secara manual. Dengan alat instrumentasi baru, Anda tidak perlu menemukan file. Pada program yang rumit, menemukan semua file bisa menjadi proses manual yang sulit.

Instrumentasi versus pengambilan sampel

Dalam hal pembuatan profil, ada dua mekanisme pengumpulan data. Koleksi menggunakan instrumentasi atau koleksi menggunakan pengambilan sampel. Untuk informasi terperinci, lihat Memahami metode pengumpulan performa.

Alat instrumentasi dinamis

Instrumentasi - Mulai Visual Studio 2022 versi 17.5, alat Instrumentasi menyediakan instrumentasi dinamis untuk .NET Core, .NET 5+, dan .NET Framework. Alat ini memberikan performa terbaik untuk skenario instrumentasi. Akses alat ini menggunakan Profiler Performa (Alt + F2). Untuk informasi selengkapnya, baca artikel berikut:

Mulai Visual Studio 2022 versi 17.6, alat Instrumentasi juga mendukung C/C++, tetapi menggunakan instrumentasi statis (VSInstr).

Untuk menggunakan alat ini dari baris perintah, lihat artikel berikut ini:

Instrumentasi - Mulai visual Studio 2019 versi 16.9, alat Instrumentasi menyediakan instrumentasi dinamis untuk .NET Core, .NET 5+, dan .NET Framework (bukan C/C++). Alat ini menggunakan versi VSInstr.exe yang mendukung instrumentasi dinamis. Akses alat ini menggunakan Profiler Performa (Alt + F2). Untuk DLL, Anda perlu menggunakan alat baris perintah (VSInstr) sebagai gantinya.

Alat instrumentasi statis

VSInstr - Mulai Visual Studio 2022 versi 17.6, alat Instrumentasi menggunakan VSInstr untuk dukungan C/C++. VSInstr juga digunakan untuk skenario baris perintah dan berfungsi untuk aplikasi .NET Framework dan C/C++. Untuk informasi selengkapnya, baca artikel berikut: