BP_RESOLUTION_LOCATION
Gibt die Struktur der Position der Haltepunktauflösung an.
Syntax
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-Aufzählung, der angibt, wie die Vereinigung oder unionmemberX
die bpResLocation
Mitglieder interpretiert werden.
bpResLocation.bpresCode
[Nur C++] Enthält die BP_RESOLUTION_CODE Struktur, wennBPT_CODE
bpType
= .
bpResLocation.bpresData
[Nur C++] Enthält die BP_RESOLUTION_DATA Struktur, wennBPT_DATA
bpType
= .
bpResLocation.unused
[Nur C++] Ein Platzhalter.
unionmember1
[Nur C#] Weitere Informationen zur Interpretation finden Sie in den Hinweisen.
unionmember2
[Nur C#] Weitere Informationen zur Interpretation finden Sie in den Hinweisen.
unionmember3
[Nur C#] Weitere Informationen zur Interpretation finden Sie in den Hinweisen.
unionmember4
[Nur C#] Weitere Informationen zur Interpretation finden Sie in den Hinweisen.
Hinweise
Diese Struktur ist ein Element der BP_ERROR_RESOLUTION_INFO und BP_RESOLUTION_INFO Strukturen.
[Nur C#] Die unionmemberX
Elemente werden gemäß der folgenden Tabelle interpretiert. Suchen Sie nach unten die linke Spalte für den bpType
Wert, um zu bestimmen, was die einzelnen unionmemberX
Member darstellen und entsprechend unionmemberX
marshallen. Im Beispiel finden Sie eine Möglichkeit, diese Struktur in C# zu interpretieren.
bpLocationType |
unionmember1 |
unionmember2 |
unionmember3 |
unionmember4 |
---|---|---|---|---|
BPT_CODE |
IDebugCodeContext2 | - | - | - |
BPT_DATA |
string (Datenausdruck) |
string (Funktionsname) |
string (Bildname) |
enum_BP_RES_DATA_FLAGS |
Beispiel
In diesem Beispiel wird gezeigt, wie die BP_RESOLUTION_LOCATION
Struktur in C# interpretiert wird.
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