Bagikan melalui


VSInstr

Alat VSInstr digunakan untuk instrumen biner. Ini dipanggil dengan menggunakan sintaks berikut:

VSInstr [/U] filename [/options]

Tabel berikut menjelaskan opsi alat VSInstr:

Opsi Deskripsi
Bantuan atau ? Menampilkan bantuan.
U Menulis output konsol yang dialihkan sebagai Unicode. Ini harus menjadi opsi pertama yang ditentukan.
@filename Menentukan nama file respons yang berisi satu opsi perintah per baris. Jangan gunakan tanda kutip.
OutputPath :path Menentukan direktori tujuan untuk gambar berinstrumen. Jika jalur output tidak ditentukan, biner asli diganti namanya dengan menambahkan "Orig" ke nama file dalam direktori yang sama, dan salinan biner diinstrumentasi.
Mengecualikan: funcspec Menentukan spesifikasi fungsi untuk dikecualikan dari instrumentasi oleh pemeriksaan. Ini berguna saat membuat profil penyisipan pemeriksaan dalam fungsi menyebabkan hasil yang tidak dapat diprediksi atau tidak diinginkan.

Jangan gunakan opsi Kecualikan dan Sertakan yang merujuk ke fungsi dalam biner yang sama.

Anda dapat menentukan beberapa spesifikasi fungsi dengan opsi Kecualikan yang terpisah.

funcspec didefinisikan sebagai:

[namespace<separator1>] [class<separator2>]function

<separator1> adalah :: untuk kode asli, dan . untuk kode terkelola.

<separator2> selalu ::

Pengecualian didukung dengan cakupan kode.

Karakter wildcard * didukung. Misalnya, untuk mengecualikan semua fungsi dalam namespace layanan, gunakan:

MyNamespace::*

Anda dapat menggunakan VSInstr /DumpFuncs untuk mencantumkan nama lengkap fungsi dalam biner yang ditentukan.
Memasukkan: funcspec Menentukan spesifikasi fungsi dalam biner ke instrumen dengan pemeriksaan. Semua fungsi lain dalam biner tidak diinstrumentasi.

Anda dapat menentukan beberapa spesifikasi fungsi dengan opsi Sertakan yang terpisah.

Jangan gunakan opsi Sertakan dan Kecualikan yang merujuk ke fungsi dalam biner yang sama.

Sertakan tidak didukung dengan cakupan kode.

funcspec didefinisikan sebagai:

[namespace<separator1>] [class<separator2>]function

<separator1> adalah :: untuk kode asli, dan . untuk kode terkelola.

<separator2> selalu ::

Karakter wildcard * didukung. Misalnya, untuk menyertakan semua fungsi dalam namespace layanan, gunakan:

MyNamespace::*

Anda dapat menggunakan VSInstr /DumpFuncs untuk mencantumkan nama lengkap fungsi dalam biner yang ditentukan.
DumpFuncs Mencantumkan fungsi dalam gambar yang ditentukan. Tidak ada instrumentasi yang dilakukan.
ExcludeSmallFuncs Tidak termasuk fungsi kecil, yang merupakan fungsi pendek yang tidak membuat panggilan fungsi apa pun, dari instrumentasi. Opsi ExcludeSmallFuncs menyediakan lebih sedikit overhead instrumentasi dengan demikian meningkatkan kecepatan instrumentasi.

Pengecualian fungsi kecil juga mengurangi ukuran file vsp dan waktu yang diperlukan untuk analisis.
Tandai:{Sebelum|Setelah|Atas|Bawah},funcname,markid Menyisipkan tanda profil (pengidentifikasi yang digunakan untuk memisahkan data dalam laporan) yang bisa Anda gunakan untuk mengidentifikasi awal atau akhir rentang data dalam file laporan .vsp.

Sebelum - Segera sebelum entri fungsi target.

Setelah - Segera setelah fungsi target keluar.

Atas - Segera setelah entri fungsi target.

Bawah - Segera sebelum setiap pengembalian dalam fungsi target.

funcname - Nama fungsi target

Markid - Bilangan bulat positif (panjang) digunakan sebagai pengidentifikasi tanda profil.
Cakupan Melakukan instrumentasi cakupan. Ini hanya dapat digunakan dengan opsi berikut: Verbose, OutputPath, Exclude, dan Logfile.
Verbose Opsi Verbose digunakan untuk melihat informasi terperinci tentang proses instrumentasi.
NoWarn [:[Message Number[;Message Number]]] Sembunyikan semua atau peringatan tertentu.

Message Number - nomor peringatan. Jika Message Number dihilangkan, semua peringatan ditekan.

Untuk informasi selengkapnya, lihat Peringatan VSInstr.
Kontrol: { Proses Utas | | Global } Menentukan tingkat pembuatan profil opsi kontrol pengumpulan data VSInstr berikut:

Mulai

StartOnly

Menangguhkan

StopOnly

SuspendOnly

ResumeOnly

Utas - menentukan fungsi kontrol pengumpulan data tingkat utas. Pembuatan profil dimulai atau dihentikan hanya untuk utas saat ini. Status pembuatan profil utas lain tidak terpengaruh. Defaultnya adalah utas.

Proses - menentukan fungsi kontrol pengumpulan data pembuatan profil tingkat proses. Pembuatan profil dimulai atau dihentikan untuk semua utas dalam proses saat ini. Status pembuatan profil proses lain tidak terpengaruh.

Global - menentukan fungsi kontrol pengumpulan data tingkat global (lintas proses).

Kesalahan terjadi jika Anda tidak menentukan tingkat pembuatan profil.
Mulai: { Di DalamLuar | },funcname Membatasi pengumpulan data ke fungsi target dan fungsi turunan yang dipanggil oleh fungsi tersebut.

Dalam - Sisipkan fungsi StartProfile segera setelah entri ke fungsi target. Menyisipkan fungsi StopProfile segera sebelum setiap pengembalian dalam fungsi target.

Luar - Menyisipkan fungsi StartProfile segera sebelum setiap panggilan ke fungsi target. Menyisipkan fungsi StopProfile segera setelah setiap panggilan ke fungsi target.

funcname - nama fungsi target.
Tangguhkan: { Di Dalam Luar | },funcname Tidak termasuk pengumpulan data untuk fungsi target dan fungsi turunan yang dipanggil oleh fungsi tersebut.

Dalam - Menyisipkan fungsi SuspendProfile segera setelah entri ke fungsi target. Menyisipkan fungsi ResumeProfile segera sebelum setiap pengembalian dalam fungsi target.

Luar - Menyisipkan fungsi SuspendProfile segera sebelum entri ke fungsi target. Menyisipkan fungsi ResumeProfile segera setelah keluar dari fungsi target.

funcname - nama fungsi target.

Jika fungsi target berisi fungsi StartProfile, fungsi SuspendProfile dimasukkan sebelum fungsi tersebut. Jika fungsi target berisi fungsi StopProfile, fungsi ResumeProfile dimasukkan setelahnya.
StartOnly: { Sebelum | Setelah | Atas Bawah | },funcname Memulai pengumpulan data selama proses pembuatan profil. Ini menyisipkan fungsi API StartProfile di lokasi yang ditentukan.

Sebelum - segera sebelum entri fungsi target.

Setelah - segera setelah fungsi target keluar.

Atas - segera setelah entri fungsi target.

Bawah - segera sebelum setiap pengembalian dalam fungsi target.

funcname - nama fungsi target.
StopOnly:{Sebelum|Setelah|Atas|Bawah},funcname Menghentikan pengumpulan data selama proses pembuatan profil. Ini menyisipkan fungsi StopProfile di lokasi yang ditentukan.

Sebelum - segera sebelum entri fungsi target.

Setelah - segera setelah fungsi target keluar.

Atas - segera setelah entri fungsi target.

Bawah - segera sebelum setiap pengembalian dalam fungsi target.

funcname - nama fungsi target.
SuspendOnly:{Sebelum|Setelah|Atas|Bawah},funcname Menghentikan pengumpulan data selama proses pembuatan profil. Ini menyisipkan API SuspendProfile di lokasi yang ditentukan.

Sebelum - segera sebelum entri fungsi target.

Setelah - segera setelah fungsi target keluar.

Atas - segera setelah entri fungsi target.

Bawah - segera sebelum setiap pengembalian dalam fungsi target.

funcname - nama fungsi target.

Jika fungsi target berisi fungsi StartProfile, fungsi SuspendProfile dimasukkan sebelum fungsi tersebut.
ResumeOnly:{Sebelum|Setelah|Atas|Bawah},funcname Memulai atau melanjutkan pengumpulan data selama proses pembuatan profil.

Biasanya digunakan untuk memulai pembuatan profil setelah opsi SuspendOnly berhenti membuat profil. Ini menyisipkan ResumeProfile API di lokasi yang ditentukan.

Sebelum - segera sebelum entri fungsi target.

Setelah - segera setelah fungsi target keluar.

Atas - segera setelah entri fungsi target.

Bawah - segera sebelum setiap pengembalian dalam fungsi target.

funcname - nama fungsi target.

Jika fungsi target berisi fungsi StopProfile, fungsi ResumeProfile dimasukkan setelahnya.

Lihat juga