Sdílet prostřednictvím


BP_RESOLUTION_LOCATION

Určuje strukturu umístění rozlišení zarážky.

Syntaxe

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

Členové

bpType
Hodnota z BP_TYPE výčtu, která určuje, jak interpretovat bpResLocation sjednocení nebo unionmemberX členy.

bpResLocation.bpresCode
[Pouze C++] Obsahuje strukturu BP_RESOLUTION_CODE pokud = bpTypeBPT_CODE .

bpResLocation.bpresData
[Pouze C++] Obsahuje strukturu BP_RESOLUTION_DATA if = bpTypeBPT_DATA .

bpResLocation.unused
[Pouze C++] Zástupný symbol.

unionmember1
[Jenom jazyk C#] Viz poznámky o tom, jak interpretovat.

unionmember2
[Jenom jazyk C#] Viz poznámky o tom, jak interpretovat.

unionmember3
[Jenom jazyk C#] Viz poznámky o tom, jak interpretovat.

unionmember4
[Jenom jazyk C#] Viz poznámky o tom, jak interpretovat.

Poznámky

Tato struktura je členem BP_ERROR_RESOLUTION_INFO a BP_RESOLUTION_INFO struktur.

[Jenom jazyk C#] Členové unionmemberX jsou interpretovány podle následující tabulky. Vyhledejte levý sloupec hodnoty bpType a potom zjistěte, co každý unionmemberX člen představuje a zařaďte unionmemberX odpovídajícím způsobem. Podívejte se na příklad, jak tuto strukturu interpretovat v jazyce C#.

bpLocationType unionmember1 unionmember2 unionmember3 unionmember4
BPT_CODE IDebugCodeContext2 - - -
BPT_DATA string (datový výraz) string (název funkce) string (název image) enum_BP_RES_DATA_FLAGS

Příklad

Tento příklad ukazuje, jak interpretovat BP_RESOLUTION_LOCATION strukturu v jazyce 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;
            }
        }
    }
}

Požadavky

Hlavička: msdbg.h

Obor názvů: Microsoft.VisualStudio.Debugger.Interop

Sestavení: Microsoft.VisualStudio.Debugger.Interop.dll

Viz také