Aracılığıyla paylaş


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_CODEBP_RESOLUTION_CODE yapısını içerir.

bpResLocation.bpresData
[Yalnızca C++] ise bpType = BPT_DATABP_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

Ayrıca bkz.