BP_RESOLUTION_LOCATION
Kesme noktası çözümleme konumunun yapısını belirtir.
Sözdizimi
public struct BP_RESOLUTION_LOCATION {
public uint bpType;
public IntPtr unionmember1;
public IntPtr unionmember2;
public IntPtr unionmember3;
public uint unionmember4;
};
Üyeler
bpType
BP_TYPE numaralandırmasından birleşim veya unionmemberX
üyelerin nasıl yorumlandığını bpResLocation
belirten bir değer.
bpResLocation.bpresCode
[Yalnızca C++] ise bpType
= BPT_CODE
BP_RESOLUTION_CODE yapısını içerir.
bpResLocation.bpresData
[Yalnızca C++] ise bpType
= BPT_DATA
BP_RESOLUTION_DATA yapısını içerir.
bpResLocation.unused
[Yalnızca C++] Yer tutucu.
unionmember1
[Yalnızca C# ] Bkz. Yorumla ilgili açıklamalar.
unionmember2
[Yalnızca C# ] Bkz. Yorumla ilgili açıklamalar.
unionmember3
[Yalnızca C# ] Bkz. Yorumla ilgili açıklamalar.
unionmember4
[Yalnızca C# ] Bkz. Yorumla ilgili açıklamalar.
Açıklamalar
Bu yapı, BP_ERROR_RESOLUTION_INFO ve BP_RESOLUTION_INFO yapılarının bir üyesidir.
[Yalnızca C# ] Üyeler unionmemberX
aşağıdaki tabloya göre yorumlanır. Her unionmemberX
üyenin temsil ettiği bpType
değeri belirlemek ve buna göre sıralamak için sol sütunda değere ve ardından diğer sütuna unionmemberX
bakın. Bu yapıyı C# dilinde yorumlamanın bir yolu için örnek konusuna bakın.
bpLocationType |
unionmember1 |
unionmember2 |
unionmember3 |
unionmember4 |
---|---|---|---|---|
BPT_CODE |
IDebugCodeContext2 | - | - | - |
BPT_DATA |
string (veri ifadesi) |
string (işlev adı) |
string (resim adı) |
enum_BP_RES_DATA_FLAGS |
Örnek
Bu örnekte, C# dilinde yapıyı BP_RESOLUTION_LOCATION
yorumlama gösterilmektedir.
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;
}
}
}
}
Gereksinimler
Üst bilgi: msdbg.h
Ad Alanı: Microsoft.VisualStudio.Debugger.Interop
Derleme: Microsoft.VisualStudio.Debugger.Interop.dll