次の方法で共有


DkmPendingAddressBreakpoint クラス

定義

特定の命令アドレスに対してバインドするように要求される保留中のブレークポイント。 IDE 内では、これらのブレークポイントは、呼び出し履歴ウィンドウ、逆アセンブル ウィンドウ、または関数ブレークポイント ダイアログに 16 進アドレスを入力することによって設定されます。 DkmInstructionAddress は入力として指定されるため、これらのブレークポイントは、文字列 (インタープリターなど) にアドレスを保持できないランタイムをサポートできます。

public ref class DkmPendingAddressBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")]
public class DkmPendingAddressBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")>]
type DkmPendingAddressBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingAddressBreakpoint
Inherits DkmPendingBreakpoint
継承
継承
DkmPendingAddressBreakpoint
属性

プロパティ

CompilerId

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

(継承元 DkmPendingBreakpoint)
InstructionAddress

実行可能コードの場所の抽象表現 (例: EIP 値)。 命令アドレスが未解決 (DkmUnknownInstructionAddress) で CPU 命令が含まれている場合、ブレークポイント マネージャーは、その範囲内のモジュールが読み込まれた場合に命令のバインドを試みます。

IsBarrier

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

(継承元 DkmPendingBreakpoint)
IsUnloaded

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

(継承元 DkmDataContainer)
Process

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

(継承元 DkmPendingBreakpoint)
SourceId

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

(継承元 DkmPendingBreakpoint)
TagValue

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

(継承元 DkmPendingBreakpoint)
Thread

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

(継承元 DkmPendingBreakpoint)
UniqueId

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

(継承元 DkmPendingBreakpoint)

メソッド

Close()

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

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

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

(継承元 DkmPendingBreakpoint)
Create(Guid, DkmCompilerId, DkmThread, Boolean, DkmInstructionAddress, DkmDataItem)

保留中の新しいブレークポイント オブジェクトを作成します。 作成後も、返されたオブジェクトは無効になり、ブレークポイント マネージャーによって追跡されません。 初期化を完了するには、呼び出し元がブレークポイントに追加のプロパティを設定し、'Enable' または 'Enroll' を設定する必要があります。 呼び出し元は、作成されたオブジェクトが完了した後で閉じる役割を担います。

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

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

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

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

(継承元 DkmPendingBreakpoint)
Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

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

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

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

(継承元 DkmPendingBreakpoint)
Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

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

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

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

(継承元 DkmPendingBreakpoint)
GetBoundBreakpoints()

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

(継承元 DkmPendingBreakpoint)
GetDataItem<T>()

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

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

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

(継承元 DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

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

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

(継承元 DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

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

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

(継承元 DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, String)

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

(継承元 DkmPendingBreakpoint)
OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

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

(継承元 DkmPendingBreakpoint)
OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

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

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

(継承元 DkmPendingBreakpoint)
RemoveDataItem<T>()

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

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

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

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

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

(継承元 DkmPendingBreakpoint)
SetDataItem<T>(DkmDataCreationDisposition, T)

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

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

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

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

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

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

(継承元 DkmPendingBreakpoint)

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

IDisposable.Dispose()

特定の命令アドレスに対してバインドするように要求される保留中のブレークポイント。 IDE 内では、これらのブレークポイントは、呼び出し履歴ウィンドウ、逆アセンブル ウィンドウ、または関数ブレークポイント ダイアログに 16 進アドレスを入力することによって設定されます。 DkmInstructionAddress は入力として指定されるため、これらのブレークポイントは、文字列 (インタープリターなど) にアドレスを保持できないランタイムをサポートできます。

(継承元 DkmPendingBreakpoint)

適用対象