Antarmuka ICorDebugVariableHome
Mewakili variabel lokal atau argumen dari suatu fungsi.
Metode
Metode | Deskripsi |
---|---|
Metode GetArgumentIndex | Mendapatkan indeks argumen fungsi. |
Metode GetCode | Mendapatkan instans "ICorDebugCode" yang berisi objek ICorDebugVariableHome ini. |
Metode GetLiveRange | Mendapatkan rentang asli di mana variabel ini hidup. |
Metode GetLocationType | Mendapatkan jenis lokasi asli variabel. |
Metode GetOffset | Mendapatkan offset dari register dasar untuk variabel. |
Metode GetRegister | Mendapatkan register yang berisi variabel dengan jenis lokasi VLT_REGISTER , dan register dasar untuk variabel dengan jenis lokasi VLT_REGISTER_RELATIVE . |
Metode GetSlotIndex | Mendapatkan indeks slot terkelola dari variabel lokal. |
Contoh
Fragmen kode berikut menggunakan objek ICorDebugCode4 bernama pCode4
.
ICorDebugCode4 *pCode4 = NULL;
pCode->QueryInterface(IID_ICorDebugCode4, &pCode4);
ICorDebugVariableEnum *pVarLocEnum = NULL;
pCode4->EnumerateVariableHomes(&pVarLocEnum);
// retrieve local variables and arguments
ULONG celt = 0;
pVarLocEnum->GetCount(&celt);
ICorDebugVariableHome **homes = new ICorDebugVariableHome *[celt];
ULONG celtFetched = 0;
pVarLocEnum->Next(celt, homes, &celtFetched);
for (int i = 0; i < celtFetched; i++)
{
VariableLocationType locType = VLT_INVALID;
homes[i].GetLocationType(&locType);
switch (locType)
{
case VLT_REGISTER:
CorDebugRegister register = 0;
locals[i].GetRegister(®ister);
// now we know which register it is in
break;
case VLT_REGISTER_RELATIVE:
CorDebugRegister baseRegister = 0;
LONG offset = 0;
locals[i].GetRegister(®ister);
locals[i].GetOffset(&offset);
// now we know the register-relative offset
break;
case VLT_INVALID:
// handle case where we can't access the location
break;
}
}
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorDebug.idl, CorDebug.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 4.6.2
Lihat juga
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
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