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 = bpType
BPT_CODE
.
bpResLocation.bpresData
[Pouze C++] Obsahuje strukturu BP_RESOLUTION_DATA if = bpType
BPT_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