Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan struktur lokasi resolusi titik henti.
Sintaks
public struct BP_RESOLUTION_LOCATION {
public uint bpType;
public IntPtr unionmember1;
public IntPtr unionmember2;
public IntPtr unionmember3;
public uint unionmember4;
};
Anggota
bpType
Nilai dari enumerasi BP_TYPE yang menentukan cara menginterpretasikan penyatuan bpResLocation atau unionmemberX anggota.
bpResLocation.bpresCode
[Hanya C++] Berisi struktur BP_RESOLUTION_CODE jika = bpTypeBPT_CODE .
bpResLocation.bpresData
[Hanya C++] Berisi struktur BP_RESOLUTION_DATA jika = bpTypeBPT_DATA .
bpResLocation.unused
[Hanya C++] Tempat penampung.
unionmember1
[C# saja] Lihat Komentar tentang cara menafsirkan.
unionmember2
[C# saja] Lihat Komentar tentang cara menafsirkan.
unionmember3
[C# saja] Lihat Komentar tentang cara menafsirkan.
unionmember4
[C# saja] Lihat Komentar tentang cara menafsirkan.
Keterangan
Struktur ini adalah anggota struktur BP_ERROR_RESOLUTION_INFO dan BP_RESOLUTION_INFO .
[C# saja] Anggota unionmemberX ditafsirkan sesuai dengan tabel berikut. Lihat ke bawah kolom kiri untuk nilai kemudian bpType di seluruh untuk menentukan apa yang diwakili oleh setiap unionmemberX anggota dan marshal yang unionmemberX sesuai. Lihat Contoh untuk cara menginterpretasikan struktur ini di C#.
bpLocationType |
unionmember1 |
unionmember2 |
unionmember3 |
unionmember4 |
|---|---|---|---|---|
BPT_CODE |
IDebugCodeContext2 | - | - | - |
BPT_DATA |
string (ekspresi data) |
string (nama fungsi) |
string (nama gambar) |
enum_BP_RES_DATA_FLAGS |
Contoh
Contoh ini menunjukkan cara menginterpretasikan BP_RESOLUTION_LOCATION struktur dalam 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;
}
}
}
}
Persyaratan
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Rakitan: Microsoft.VisualStudio.Debugger.Interop.dll