共用方式為


BP_RESOLUTION_LOCATION

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

指定中斷點的解析度位置的結構。

語法

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

Members

bpType
介於BP_TYPE列舉,指定如何解譯bpResLocation等位或unionmemberX成員。

bpResLocation.bpresCode
[只有 c + +]包含BP_RESOLUTION_CODE結構如果bpType = BPT_CODE

bpResLocation.bpresData
[只有 c + +]包含BP_RESOLUTION_DATA結構如果bpType = BPT_DATA

bpResLocation.unused
[只有 c + +]預留位置。

unionmember1
[僅限 C#]請參閱 < 備註 >,有關如何解譯。

unionmember2
[僅限 C#]請參閱 < 備註 >,有關如何解譯。

unionmember3
[僅限 C#]請參閱 < 備註 >,有關如何解譯。

unionmember4
[僅限 C#]請參閱 < 備註 >,有關如何解譯。

備註

此結構是屬於BP_ERROR_RESOLUTION_INFOBP_RESOLUTION_INFO結構。

[僅限 C#]unionmemberX成員會根據下表來解譯。 往下的左欄bpType來判斷每個值然後透過unionmemberX成員表示和封送處理unionmemberX據此。 請參閱如何解譯此結構在 C# 中的一種方法範例。

bpLocationType unionmember1 unionmember2 unionmember3 unionmember4
BPT_CODE IDebugCodeContext2 - - -
BPT_DATA string(資料運算式) string(函式名稱) string(映像名稱) enum_BP_RES_DATA_FLAGS

範例

這個範例示範如何解譯BP_RESOLUTION_LOCATIONC# 中的結構。

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

需求

標頭︰ msdbg.h

命名空間︰ Microsoft.VisualStudio.Debugger.Interop

組件︰ Microsoft.VisualStudio.Debugger.Interop.dll

另請參閱

結構和等位
BP_TYPE
BP_ERROR_RESOLUTION_INFO
BP_RESOLUTION_INFO
BP_RESOLUTION_CODE
BP_RESOLUTION_DATA
BP_RES_DATA_FLAGS