Freigeben über


BP_RESOLUTION_LOCATION

Gibt die Struktur des Haltepunkts auflösungs speicherorts an.

struct _BP_RESOLUTION_LOCATION {
   BP_TYPE bpType;
   union {
      BP_RESOLUTION_CODE bpresCode;
      BP_RESOLUTION_DATA bpresData;
      int                unused;
   } bpResLocation;
} BP_RESOLUTION_LOCATION;
public struct BP_RESOLUTION_LOCATION {
   public uint bpType;
   public IntPtr unionmember1;
   public IntPtr unionmember2;
   public IntPtr unionmember3;
   public uint   unionmember4;
};

Mitglieder

  • bpType
    Ein Wert aus der BP_TYPE-Enumeration, die angibt, wie die bpResLocation Union oder unionmemberX-Member interpretiert.

  • bpResLocation.bpresCode
    [C++] Es enthält die BP_RESOLUTION_CODE Struktur wenn bpType = BPT_CODE.

  • bpResLocation.bpresData
    [C++] Es enthält die BP_RESOLUTION_DATA Struktur wenn bpType = BPT_DATA.

  • bpResLocation.unused
    [C++] Es a-Platzhalter.

  • unionmember1
    [Nur C#] siehe Hinweise zur Verwendung interpretiert.

  • unionmember2
    [Nur C#] siehe Hinweise zur Verwendung interpretiert.

  • unionmember3
    [Nur C#] siehe Hinweise zur Verwendung interpretiert.

  • unionmember4
    [Nur C#] siehe Hinweise zur Verwendung interpretiert.

Hinweise

Diese Struktur ist ein Mitglied der BP_ERROR_RESOLUTION_INFORMATION und BP_RESOLUTION_INFORMATION Strukturen.

[C#] unionmemberX nur die Member entsprechend der folgenden Tabelle interpretiert. Suchen Sie entlang der linken Spalte auf dem bpType-Wert für, um zu bestimmen, welche Member darstellt, und jeder unionmemberX Marshallen von unionmemberX . Weitere Informationen finden Sie im Beispiel, dass eine Methode diese Struktur in C# interpretiert.

bpLocationType

unionmember1

unionmember2

unionmember3

unionmember4

BPT_CODE

IDebugCodeContext2

-

-

-

BPT_DATA

string Daten (Ausdruck)

string (Funktionsname)

Bild (Name)string

enum_BP_RES_DATA_FLAGS

Beispiel

Dieses Beispiel zeigt, wie die BP_RESOLUTION_LOCATION Struktur in C# interpretiert.

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;
            }
        }
    }
}

Anforderungen

Header: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Siehe auch

Referenz

Strukturen und Unions

BP_TYPE

BP_ERROR_RESOLUTION_INFORMATION

BP_RESOLUTION_INFORMATION

BP_RESOLUTION_CODE

BP_RESOLUTION_DATA

BP_RES_DATA_FLAGS