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

Confira também