Bagikan melalui


IDebugMethodField::EnumLocals

Membuat enumerator untuk variabel lokal metode yang dipilih.

Sintaks

int EnumLocals(
    IDebugAddress        pAddress,
    out IEnumDebugFields ppLocals
);

Parameter

pAddress
[di] Objek IDebugAddress yang mewakili alamat debug yang memilih konteks atau cakupan untuk mendapatkan lokal.

ppLocals
[out] Mengembalikan objek IEnumDebugFields yang mewakili daftar lokal; jika tidak, mengembalikan nilai null jika tidak ada lokal.

Tampilkan Nilai

Jika berhasil, mengembalikan S_OK atau mengembalikan S_FALSE jika tidak ada lokal. Jika tidak, kembalikan kode galat.

Keterangan

Hanya variabel yang ditentukan dalam blok yang berisi alamat debug yang diberikan yang dijumlahkan. Jika semua lokal termasuk lokal yang dihasilkan kompilator diperlukan, panggil metode EnumAllLocals .

Metode dapat berisi beberapa konteks atau blok cakupan. Misalnya, metode yang disusun berikut berisi tiga cakupan, dua blok dalam dan isi metode itu sendiri.

public void func(int index)
{
    // Method body scope
    int a = 0;
    if (index == 1)
    {
        // Inner scope 1
        int temp1 = a;
    }
    else
    {
        // Inner scope 2
        int temp2 = a;
    }
}

Objek IDebugMethodField mewakili metode itu func sendiri. Memanggil EnumLocals metode dengan IDebugAddress yang diatur ke Inner Scope 1 alamat mengembalikan enumerasi yang berisi temp1 variabel, misalnya.

Baca juga