BP_RESOLUTION_LOCATION
Especifica a estrutura do local de resolução do ponto de interrupção.
Sintaxe
public struct BP_RESOLUTION_LOCATION {
public uint bpType;
public IntPtr unionmember1;
public IntPtr unionmember2;
public IntPtr unionmember3;
public uint unionmember4;
};
Membros
bpType
Um valor da enumeração BP_TYPE que especifica como interpretar a bpResLocation
união ou unionmemberX
os membros.
bpResLocation.bpresCode
[Somente C++] Contém a estrutura BP_RESOLUTION_CODE se bpType
= BPT_CODE
.
bpResLocation.bpresData
[Somente C++] Contém a estrutura BP_RESOLUTION_DATA se bpType
= BPT_DATA
.
bpResLocation.unused
[Somente C++] Um espaço reservado.
unionmember1
[Somente C#] Veja Observações sobre como interpretar.
unionmember2
[Somente C#] Veja Observações sobre como interpretar.
unionmember3
[Somente C#] Veja Observações sobre como interpretar.
unionmember4
[Somente C#] Veja Observações sobre como interpretar.
Comentários
Essa estrutura é um membro das estruturas BP_ERROR_RESOLUTION_INFO e BP_RESOLUTION_INFO .
[Somente C#] Os unionmemberX
membros são interpretados de acordo com a tabela a seguir. Olhe para baixo na coluna da esquerda para o valor e, em seguida, para bpType
determinar o que cada unionmemberX
membro representa e marechal o unionmemberX
correspondente. Consulte o Exemplo para obter uma maneira de interpretar essa estrutura em C#.
bpLocationType |
unionmember1 |
unionmember2 |
unionmember3 |
unionmember4 |
---|---|---|---|---|
BPT_CODE |
IDebugCodeContext2 | - | - | - |
BPT_DATA |
string (expressão de dados) |
string (nome da função) |
string (nome da imagem) |
enum_BP_RES_DATA_FLAGS |
Exemplo
Este exemplo mostra como interpretar a BP_RESOLUTION_LOCATION
estrutura em 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;
}
}
}
}
Requisitos
Cabeçalho: msdbg.h
Espaço para nome: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll