次の方法で共有


DkmPendingBreakpoint クラス

定義

ユーザー レベルのコンストラクト (ソース ファイル、関数名など) に関連付けられている高レベルのブレークポイント オブジェクト。これは、0 個以上のコード レベルのコンストラクト (DkmBoundBreakpoint) にマップされ、時間の経過と同時に追跡される可能性があります。

派生クラス: DkmPendingAddressBreakpoint、DkmPendingAddressNameBreakpoint、DkmPendingDataBreakpoint、DkmPendingFileLineBreakpoint、DkmPendingFunctionBreakpoint

public ref class DkmPendingBreakpoint abstract : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("c9e1ffa4-f943-14bc-5566-00a802dfc66f")]
public abstract class DkmPendingBreakpoint : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("c9e1ffa4-f943-14bc-5566-00a802dfc66f")>]
type DkmPendingBreakpoint = class
    inherit DkmDataContainer
    interface IDisposable
Public MustInherit Class DkmPendingBreakpoint
Inherits DkmDataContainer
Implements IDisposable
継承
DkmPendingBreakpoint
継承
DkmPendingBreakpoint
派生
属性
実装

プロパティ

CompilerId

ブレークポイントをバインドする必要があるソース言語 (C#など) とコンパイラ ベンダー (Microsoft など) を識別します。 ブレークポイントがすべての言語にバインドされることを示すために、'LanguageId' を Guid.Empty のままにすることができます。 'VendorId' は、ほぼ常に Guid.Empty のままです。これは、言語のみが (コンパイラではなく) 既知であることを示します。

IsBarrier

このブレークポイントがハードウェアで設定する必要があるバリアであるかどうかを示します。これは GPU デバッグに適しています。

IsUnloaded

このオブジェクトに対して 'unloaded' イベントが発生した場合 (例: DkmThread::Unload が呼び出されます)、またはオブジェクトが閉じている場合は true を返します。 同期なしでこの状態を確認する場合は、読み取った後に返される状態が正確でなくなる可能性があるため、注意が必要です。

(継承元 DkmDataContainer)
Process

DkmProcess は、デバッグ中のターゲット プロセスを表します。 デバッガーはプロセスをデバッグするため、これはデバッグの基本的な単位です。 DkmProcess は、システム プロセスまたはミニダンプなどの仮想プロセスを表すことができます。

SourceId

オブジェクトのソースを識別します。 SourceIds は、複数のコンポーネントがクラスのインスタンスを作成している可能性があるシナリオでフィルター処理を有効にするために使用されます。 たとえば、ソース ID を使用して、別のコンポーネントによって作成されるブレークポイント (ステップ実行に使用される内部ブレークポイントなど) ではなく、AD7 AL (ユーザー ブレークポイント、SDM レベルで表示されるその他のブレークポイントなど) からブレークポイントが取得されているかどうかを判断できます。

TagValue

DkmPendingBreakpoint は抽象基本クラスです。 この列挙型は、このオブジェクトがどの派生クラスのインスタンスであるかを示します。

Thread

[省略可能]このブレークポイントを起動するスレッド。 null の場合、ブレークポイントはすべてのスレッドで発生します。

UniqueId

この保留中のブレークポイント オブジェクトを一意に識別する Guid。

メソッド

Close()

DkmPendingBreakpoint オブジェクト インスタンスを閉じます。 これにより、すべてのコンポーネントにわたって、このオブジェクトに関連付けられているすべてのリソースが解放されます。 これには、コンピューターまたはマネージド/ネイティブマーシャリング境界を越えたリソースが含まれます。

DkmPendingBreakpoint オブジェクトは、関連付けられている DkmProcess オブジェクトが閉じられると自動的に閉じられます。

このメソッドは、 オブジェクトを作成したコンポーネントによってのみ呼び出されます。

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

保留中のブレークポイント オブジェクトを無効にして、起動しないようにします。 保留中のブレークポイントが既にバインドされている場合、バインドされたブレークポイントはすべて暗黙的に無効になります。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元は、完了ルーチンを通じて要求が完了したことを通知されます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

将来バインドするブレークポイントのインスタンスがヒットするように、保留中のブレークポイントの状態を設定します。 保留中のブレークポイントがまだ登録されていない場合、このメソッドはブレークポイントも登録します。 保留中のブレークポイントを登録するには、現在読み込まれているモジュールに対してブレークポイントを解決し、ブレークポイント マネージャーがモジュールの読み込み時にバインドするブレークポイントの一覧にブレークポイントを追加します。 保留中のブレークポイントが既に登録されている場合、既存のバインドされたブレークポイントは自動的に有効になりません。 バインドされたブレークポイントは個別に有効にする必要があります。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元は、完了ルーチンを通じて要求が完了したことを通知されます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

このメソッドは、保留中のブレークポイントを有効にせずに登録します。 その結果、ブレークポイント マネージャーが解決を試みるが、起動しないブレークポイントが生成されます。 保留中のブレークポイントを登録するには、現在読み込まれているモジュールに対してブレークポイントを解決し、ブレークポイント マネージャーがモジュールの読み込み時にバインドするブレークポイントの一覧にブレークポイントを追加します。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元は、完了ルーチンを通じて要求が完了したことを通知されます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

GetBoundBreakpoints()

GetBoundBreakpoints は、この DkmPendingBreakpoint オブジェクトの DkmBoundBreakpoint 要素を列挙します。

GetDataItem<T>()

このコンテナー インスタンスに追加された 'T' のインスタンスを取得します。 このコンテナーに 'T' が含まれていない場合、この関数は null を返します。

(継承元 DkmDataContainer)
OnBreakpointBound(DkmBoundBreakpoint[])

ブレークポイントがバインドされたときのブレークポイント マネージャーからの通知。 ユーザー設定ブレークポイントの場合、この通知は AD7 AL に送信され、AD7 AL は Visual Studio デバッガー UI に IDebugBreakpointBoundEvent2 を起動します。

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

ブレークポイントのバインドの状態に関するブレークポイント マネージャーからの通知。

この API は、Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) で導入されました。

OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

ブレークポイントのバインドの状態に関するブレークポイント マネージャーからの通知。

この API は、Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) で導入されました。

OnBreakpointMessage(DkmBreakpointMessageLevel, String)

ブレークポイントのバインドの状態に関するブレークポイント マネージャーからの通知。

OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

指定されたブレークポイントがバインドされていないことを示すブレークポイント マネージャーからの通知。

OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

BreakpointHitWithError イベントを発生させます。 イベント シンク インターフェイスを実装するコンポーネントは、イベント通知を受け取ります。 このメソッドはイベントをエンキューし、コントロールはすぐに呼び出し元に戻ります。

この API は、Visual Studio 16 RTM (DkmApiVersion.VS16RTM) で導入されました。

RemoveDataItem<T>()

このコンテナーから 'T' のインスタンスを削除します。 通常、オブジェクトが閉じられるとデータ コンテナーが自動的に空になるので、このメソッドを呼び出す必要があります。

(継承元 DkmDataContainer)
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

この条件ブレークポイントのすべてのバインドされたブレークポイントで、言語レベルの条件を初期化、更新、またはクリアします。 同じブレークポイントに言語レベルの条件とヒット カウント条件の両方がある場合は、最初に言語レベルの条件が適用されます。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元は、完了ルーチンを通じて要求が完了したことを通知されます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

SetDataItem<T>(DkmDataCreationDisposition, T)

データ コンテナーに新しい項目を配置します。

(継承元 DkmDataContainer)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

この保留中のブレークポイントのすべてのバインドされたブレークポイントでヒットカウント条件を初期化、更新、またはクリアします。 同じブレークポイントに言語レベルの条件とヒット カウント条件の両方がある場合は、最初に言語レベルの条件が適用されます。

ヒット カウント条件は、保留中のブレークポイントでまとめて集計されるのではなく、バインドされた各ブレークポイントで個別に動作します。 たとえば、ヒット数がヒット #2 で停止するように構成され、ブレークポイントがそれぞれ 1 回ブレークポイントにヒットする 2 つの別々の場所に設定されている場合、個々のバインドされたブレークポイントが 2 回ヒットしていないため、UI は中断モードになりません。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元は、完了ルーチンを通じて要求が完了したことを通知されます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

明示的なインターフェイスの実装

IDisposable.Dispose()

ユーザー レベルのコンストラクト (ソース ファイル、関数名など) に関連付けられている高レベルのブレークポイント オブジェクト。これは、0 個以上のコード レベルのコンストラクト (DkmBoundBreakpoint) にマップされ、時間の経過と同時に追跡される可能性があります。

派生クラス: DkmPendingAddressBreakpoint、DkmPendingAddressNameBreakpoint、DkmPendingDataBreakpoint、DkmPendingFileLineBreakpoint、DkmPendingFunctionBreakpoint

適用対象