DkmPendingDataBreakpoint Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ausstehender Haltepunkt, der an einen Datenausdruck anstelle eines Codeausdrucks gebunden ist. Datenhaltepunkte werden ausgelöst, wenn das angegebene Element in geschrieben wird.
public ref class DkmPendingDataBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("afd7a281-dbf3-946b-9464-8ca12287616b")]
public class DkmPendingDataBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("afd7a281-dbf3-946b-9464-8ca12287616b")>]
type DkmPendingDataBreakpoint = class
inherit DkmPendingBreakpoint
Public Class DkmPendingDataBreakpoint
Inherits DkmPendingBreakpoint
- Vererbung
- Vererbung
- Attribute
Eigenschaften
| CompilerId |
Gibt die Quellsprache (z. B. C#) und den Compileranbieter (z. B. Microsoft) an, an die der Haltepunkt gebunden werden soll. "LanguageId" kann als Guid.Empty belassen werden, um anzugeben, dass der Haltepunkt an alle Sprachen gebunden werden soll. "VendorId" wird fast immer als Guid.Empty belassen, was angibt, dass nur die Sprache bekannt ist (nicht der Compiler). (Geerbt von DkmPendingBreakpoint) |
| DataElementLocation |
Gibt den Speicherort des Datenwerts an, der watch werden soll. |
| IsBarrier |
Gibt an, ob dieser Haltepunkt eine Barriere ist, die für die Hardware festgelegt werden soll. Dies funktioniert für das GPU-Debuggen. (Geerbt von DkmPendingBreakpoint) |
| IsUnloaded |
Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist. (Geerbt von DkmDataContainer) |
| Process |
DkmProcess stellt einen Zielprozess dar, der debuggt wird. Der Debugger debuggt Prozesse, sodass dies die grundlegende Debugeinheit ist. Ein DkmProcess kann einen Systemprozess oder einen virtuellen Prozess wie Minidumps darstellen. (Geerbt von DkmPendingBreakpoint) |
| Size |
Gibt die Größe des Speicherorts in Bytes an, der für den Zugriff überwacht werden soll. Gültige Größen hängen möglicherweise vom Zielprozessor (x86, x64 usw.) und vom Typ des zu debuggenden Codes ab. Systemeigener Code verwendet beispielsweise die Breakpointregister der CPU, und der x86-basierte Prozessor unterstützt größen von 1, 2 und 4. |
| SourceId |
Identifiziert die Quelle eines Objekts. SourceIds werden verwendet, um die Filterung in Szenarien zu aktivieren, in denen mehrere Komponenten Instanzen einer Klasse erstellen können. Beispielsweise können Quell-IDs verwendet werden, um zu bestimmen, ob ein Haltepunkt aus dem AD7 AL stammt (z. B. Benutzerhaltepunkt oder ein anderer Haltepunkt, der auf SDM-Ebene sichtbar ist) anstelle eines Haltepunkts, der von einer anderen Komponente erstellt werden kann (z. B. einem internen Haltepunkt, der zum Springen verwendet wird). (Geerbt von DkmPendingBreakpoint) |
| TagValue |
DkmPendingBreakpoint ist eine abstrakte Basisklasse. Diese Enumeration gibt an, welche abgeleitete Klasse dieses Objekt instance ist. (Geerbt von DkmPendingBreakpoint) |
| Thread |
[Optional] Thread, für den dieser Haltepunkt ausgelöst werden soll. Wenn null, wird der Haltepunkt für alle Threads ausgelöst. (Geerbt von DkmPendingBreakpoint) |
| UniqueId |
Guid, die dieses ausstehende Breakpointobjekt eindeutig identifiziert. (Geerbt von DkmPendingBreakpoint) |
Methoden
| Close() |
Schließt ein DkmPendingBreakpoint-Objekt instance. Dadurch werden alle Ressourcen freigegeben, die diesem Objekt für alle Komponenten zugeordnet sind. Dies schließt Ressourcen über Computer- oder verwaltete/native Marshallinggrenzen hinweg ein. DkmPendingBreakpoint-Objekte werden automatisch geschlossen, wenn das zugeordnete DkmProcess-Objekt geschlossen wird. Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat. (Geerbt von DkmPendingBreakpoint) |
| Create(DkmProcess, Guid, DkmCompilerId, DkmThread, Boolean, String, Int32, DkmDataItem) |
Erstellt ein neues ausstehendes Breakpointobjekt. Nach der Erstellung wird das zurückgegebene Objekt weiterhin deaktiviert und vom Haltepunkt-Manager nicht nachverfolgt. Um die Initialisierung abzuschließen, sollte der Aufrufer zusätzliche Eigenschaften für den Haltepunkt und "Aktivieren" oder "Registrieren" festlegen. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem er fertig ist. |
| Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>) |
Deaktivieren Sie das ausstehende Breakpointobjekt, damit es nicht mehr ausgelöst wird. Wenn der ausstehende Haltepunkt bereits gebunden ist, werden alle gebundenen Haltepunkte implizit deaktiviert. Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist. Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmPendingBreakpoint) |
| Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>) |
Legt den Status des ausstehenden Haltepunkts fest, sodass Instanzen des Haltepunkts, die in Zukunft gebunden werden, erreicht werden. Wenn der ausstehende Haltepunkt noch nicht registriert ist, registriert diese Methode auch den Haltepunkt. Das Registrieren eines ausstehenden Haltepunkts besteht aus dem Versuch, den Haltepunkt für alle derzeit geladenen Module aufzulösen und den Haltepunkt der Liste der Haltepunkte hinzuzufügen, die der Haltepunkt-Manager bei jeder Modulauslastung bindet. Wenn der ausstehende Haltepunkt bereits registriert ist, werden vorhandene gebundene Haltepunkte nicht automatisch aktiviert. Gebundene Haltepunkte müssen separat aktiviert werden. Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist. Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmPendingBreakpoint) |
| Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>) |
Diese Methode registriert den ausstehenden Haltepunkt, ohne ihn zu aktivieren. Das Ergebnis ist ein Haltepunkt, den der Haltepunkt-Manager aufzulösen versucht, der aber nicht ausgelöst wird. Das Registrieren eines ausstehenden Haltepunkts besteht aus dem Versuch, den Haltepunkt für alle derzeit geladenen Module aufzulösen und den Haltepunkt der Liste der Haltepunkte hinzuzufügen, die der Haltepunkt-Manager bei jeder Modulauslastung bindet. Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist. Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmPendingBreakpoint) |
| GetBoundBreakpoints() |
GetBoundBreakpoints listet die DkmBoundBreakpoint-Elemente dieses DkmPendingBreakpoint-Objekts auf. (Geerbt von DkmPendingBreakpoint) |
| GetDataItem<T>() |
Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück. (Geerbt von DkmDataContainer) |
| OnBreakpointBound(DkmBoundBreakpoint[]) |
Benachrichtigung vom Haltepunkt-Manager, wenn ein Haltepunkt gebunden wurde. Bei benutzerseitig festgelegten Haltepunkten wird diese Benachrichtigung an die AD7 AL gesendet, und die AD7 AL löst ein IDebugBreakpointBoundEvent2 auf der Benutzeroberfläche des Visual Studio-Debuggers aus. (Geerbt von DkmPendingBreakpoint) |
| OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String) |
Benachrichtigung des Haltepunkt-Managers über die status der Bindung des Haltepunkts. Diese API wurde in Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) eingeführt. (Geerbt von DkmPendingBreakpoint) |
| OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String) |
Benachrichtigung des Haltepunkt-Managers über die status der Bindung des Haltepunkts. Diese API wurde in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) eingeführt. (Geerbt von DkmPendingBreakpoint) |
| OnBreakpointMessage(DkmBreakpointMessageLevel, String) |
Benachrichtigung des Haltepunkt-Managers über die status der Bindung des Haltepunkts. (Geerbt von DkmPendingBreakpoint) |
| OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason) |
Benachrichtigung vom Haltepunkt-Manager, die angibt, dass der angegebene Haltepunkt nicht gebunden wird. (Geerbt von DkmPendingBreakpoint) |
| OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String) |
Auslösen eines BreakpointHitWithError-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Diese Methode wird das Ereignis in die Warteschlange stellen, und das Steuerelement wird sofort an den Aufrufer zurückgegeben. Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTM) eingeführt. (Geerbt von DkmPendingBreakpoint) |
| RemoveDataItem<T>() |
Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird. (Geerbt von DkmDataContainer) |
| SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>) |
Initialisieren, aktualisieren oder löschen Sie die Bedingung auf Sprachebene für alle gebundenen Haltepunkte dieses Bedingungshaltepunkts. Wenn derselbe Haltepunkt sowohl über eine Bedingung auf Sprachebene als auch über eine Trefferanzahl verfügt, wird zuerst die Bedingung auf Sprachebene angewendet. Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist. Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmPendingBreakpoint) |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Platzieren Sie ein neues Element im Datencontainer. (Geerbt von DkmDataContainer) |
| SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>) |
Initialisieren, Aktualisieren oder Löschen der Trefferanzahlbedingung für alle gebundenen Haltepunkte dieses ausstehenden Haltepunkts. Wenn derselbe Haltepunkt sowohl über eine Bedingung auf Sprachebene als auch über eine Trefferanzahl verfügt, wird zuerst die Bedingung auf Sprachebene angewendet. Beachten Sie, dass die Bedingung für die Trefferanzahl unabhängig auf jedem gebundenen Haltepunkt agiert, anstatt zusammen auf dem ausstehenden Haltepunkt aggregiert zu werden. Wenn z. B. die Trefferanzahl so konfiguriert ist, dass sie bei Treffer #2 beendet wird, und der Haltepunkt an zwei separaten Speicherorten, von denen jeder einmal auf den Haltepunkt trifft, ist die Benutzeroberfläche immer noch nicht in den Unterbrechungsmodus gewechselt, da keiner der einzelnen gebundenen Haltepunkte zweimal getroffen hat. Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist. Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmPendingBreakpoint) |
Explizite Schnittstellenimplementierungen
| IDisposable.Dispose() |
Ausstehender Haltepunkt, der an einen Datenausdruck anstelle eines Codeausdrucks gebunden ist. Datenhaltepunkte werden ausgelöst, wenn das angegebene Element in geschrieben wird. (Geerbt von DkmPendingBreakpoint) |