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.
Mewakili variabel lokal atau argumen fungsi.
Methods
| Metode | Description |
|---|---|
| Metode GetArgumentIndex | Mendapatkan indeks argumen fungsi. |
| Metode GetCode | Mendapatkan instans "ICorDebugCode" yang berisi objek ini ICorDebugVariableHome . |
| Metode GetLiveRange | Mendapatkan rentang asli tempat variabel ini ditayangkan. |
| 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 VLT_REGISTERlokasi , dan register dasar untuk variabel dengan jenis VLT_REGISTER_RELATIVElokasi . |
| Metode GetSlotIndex | Mendapatkan indeks slot terkelola dari variabel lokal. |
Example
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 Sistem operasi yang didukung .NET.
Header: CorDebug.idl, CorDebug.h
Perpustakaan: CorGuids.lib
Versi .NET: Tersedia sejak .NET Framework 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.