BP_RESOLUTION_LOCATION
指定中斷點的解析度位置的結構。
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 + +]Contains the BP_RESOLUTION_CODE structure if bpType = BPT_CODE.bpResLocation.bpresData
[只有 c + +]Contains the BP_RESOLUTION_DATA structure if bpType = BPT_DATA.bpResLocation.unused
[只有 c + +]版面配置區。unionmember1
[C# 只]請參閱有關如何解譯的註解。unionmember2
[C# 只]請參閱有關如何解譯的註解。unionmember3
[C# 只]請參閱有關如何解譯的註解。unionmember4
[C# 只]請參閱有關如何解譯的註解。
備註
這個結構屬於BP_ERROR_RESOLUTION_INFO和BP_RESOLUTION_INFO結構。
[C# 只]unionmemberX成員會被解譯如下表。 向畫面左邊欄位的下瀏覽bpType的值然後橫向來判斷每一unionmemberX成員表示呼叫和封送處理unionmemberX據以。 請參閱的方式來解譯此結構在 C# 中的範例。
bpLocationType |
unionmember1 |
unionmember2 |
unionmember3 |
unionmember4 |
---|---|---|---|---|
BPT_CODE |
- |
- |
- |
|
BPT_DATA |
string(資料的運算式) |
string(函式名稱) |
string(影像名稱) |
enum_BP_RES_DATA_FLAGS |
範例
這個範例會示範如何解譯BP_RESOLUTION_LOCATION 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;
}
}
}
}
需求
標頭: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
組件: Microsoft.VisualStudio.Debugger.Interop.dll