Bagikan melalui


BP_RESOLUTION_LOCATION

Menentukan struktur lokasi resolusi titik henti.

Sintaks

public struct BP_RESOLUTION_LOCATION {
    public uint   bpType;
    public IntPtr unionmember1;
    public IntPtr unionmember2;
    public IntPtr unionmember3;
    public uint   unionmember4;
};

Anggota

bpType
Nilai dari enumerasi BP_TYPE yang menentukan cara menginterpretasikan penyatuan bpResLocation atau unionmemberX anggota.

bpResLocation.bpresCode
[Hanya C++] Berisi struktur BP_RESOLUTION_CODE jika = bpTypeBPT_CODE .

bpResLocation.bpresData
[Hanya C++] Berisi struktur BP_RESOLUTION_DATA jika = bpTypeBPT_DATA .

bpResLocation.unused
[Hanya C++] Tempat penampung.

unionmember1
[C# saja] Lihat Komentar tentang cara menafsirkan.

unionmember2
[C# saja] Lihat Komentar tentang cara menafsirkan.

unionmember3
[C# saja] Lihat Komentar tentang cara menafsirkan.

unionmember4
[C# saja] Lihat Komentar tentang cara menafsirkan.

Keterangan

Struktur ini adalah anggota struktur BP_ERROR_RESOLUTION_INFO dan BP_RESOLUTION_INFO .

[C# saja] Anggota unionmemberX ditafsirkan sesuai dengan tabel berikut. Lihat ke bawah kolom kiri untuk nilai kemudian bpType di seluruh untuk menentukan apa yang diwakili oleh setiap unionmemberX anggota dan marshal yang unionmemberX sesuai. Lihat Contoh untuk cara menginterpretasikan struktur ini di C#.

bpLocationType unionmember1 unionmember2 unionmember3 unionmember4
BPT_CODE IDebugCodeContext2 - - -
BPT_DATA string (ekspresi data) string (nama fungsi) string (nama gambar) enum_BP_RES_DATA_FLAGS

Contoh

Contoh ini menunjukkan cara menginterpretasikan BP_RESOLUTION_LOCATION struktur dalam C#.

using System;
using System.Runtime.Interop.Services;
using Microsoft.VisualStudio.Debugger.Interop;

namespace MyPackage
{
    public class MyClass
    {
        public void Interpret(BP_RESOLUTION_LOCATION bprl)
        {
            if (bprl.bpType == (uint)enum_BP_TYPE.BPT_CODE)
            {
                IDebugCodeContext2 pContext = (IDebugCodeContext2)Marshal.GetObjectForIUnknown(bp.unionmember1);
            }
            else if (bprl.bpType == (uint)enum_BP_TYPE.BPT_DATA)
            {
                string dataExpression = Marshal.PtrToStringBSTR(bp.unionmember3);
                string functionName = Marshal.PtrToStringBSTR(bp.unionmember2);
                string imageName = Marshal.PtrToStringBSTR(bp.unionmember3);
                enum_BP_RES_DATA_FLAGS numElements = (enum_BP_RES_DATA_FLAGS)bp.unionmember4;
            }
        }
    }
}

Persyaratan

Header: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Rakitan: Microsoft.VisualStudio.Debugger.Interop.dll

Baca juga