DkmStackContext 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.
Dkmstackcontext-Objekte werden von Komponenten erstellt, die den Stapel vom Stapel Anbieter anfordern möchten. Eine Komponente muss den Kontext schließen, nachdem Sie den Stackwalk abgeschlossen haben. Zum Abrufen des Stapels sollte eine Komponente dieses Objekt erstellen und dann getnextframes aufrufen.
Abgeleitete Klassen: dkmstacktracecontext
public ref class DkmStackContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("90f8ca28-617f-0b13-f421-fa6f1159973e")]
public class DkmStackContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("90f8ca28-617f-0b13-f421-fa6f1159973e")>]
type DkmStackContext = class
inherit DkmDataContainer
interface IDisposable
Public Class DkmStackContext
Inherits DkmDataContainer
Implements IDisposable
- Vererbung
- Abgeleitet
- Attribute
- Implementiert
Eigenschaften
| AsyncContext |
Optionale Gibt den Kontext für den asynchronen Stackwalk-Vorgang an, wenn wir die Rahmen der Fortsetzung oder der Aufgaben Erstellung abrufen. Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt. |
| FilterOptions |
Optionen, wie die aufrufsstapel gefiltert werden soll. |
| FormatOptions |
Sammlung von Einstellungen, die beeinflussen, wie der Stapel Anbieter einen dkmstackframe formatiert. |
| InspectionSession |
Dkminspectionsession ermöglicht den verschiedenen Komponenten, die Daten überprüfen, private Daten zu speichern, die mit einer Gruppe von Auswertungen verknüpft sind. |
| IsUnloaded |
Gibt "true" zurück, wenn ein "entladen"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: dkmthread:: entladen wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses Status, ohne Synchronisierung, der Status "zurückgegeben" möglicherweise nicht mehr genau der Anweisung entspricht, nachdem er gelesen wurde. (Geerbt von DkmDataContainer) |
| Operation |
Welche Art von Stackwalk wir durchführen. Wenn der Vorgang asynkreturnstackwalk oder asynctaskkreationstackwalk ist, muss "Task" ungleich NULL sein. Andernfalls muss "AsyncContext" NULL sein. Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt. |
| Thread |
Dkmthread stellt einen Thread dar, der im Ziel Prozess ausgeführt wird. |
| ThreadContext |
Optionale Der erste Thread Kontext, der beim Ausführen des Stackwalk verwendet werden soll. Dieser Wert ist normalerweise "Null", kann aber festgelegt werden, um eine andere aufrufsstapel anzuzeigen (z.b. ". CXR"). |
| UniqueId |
GUID, die diesen dkmstackcontext eindeutig identifiziert. |
Methoden
| Close() |
Schließt eine dkmstackcontext-Objektinstanz. Hierdurch werden alle Ressourcen freigegeben, die mit diesem Objekt für alle Komponenten verknüpft sind. Dies schließt Ressourcen Computer übergreifend oder verwaltete/native Marshalling-Grenzen ein. Dkmstackcontext-Objekte werden automatisch geschlossen, wenn das zugehörige dkminspectionsession-Objekt geschlossen wird. Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| Create(DkmInspectionSession, DkmThread, DkmCallStackFilterOptions, DkmFrameFormatOptions, ReadOnlyCollection<Byte>, DkmAsyncStackWalkContext, DkmStackWalkOperation, DkmDataItem) |
Erstellen Sie eine neue dkmstackcontext-Objektinstanz. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem es abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt. |
| Create(DkmInspectionSession, DkmThread, DkmCallStackFilterOptions, DkmFrameFormatOptions, ReadOnlyCollection<Byte>, DkmDataItem) |
Erstellen Sie eine neue dkmstackcontext-Objektinstanz. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem es abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| GetDataItem<T>() |
Ruft die Instanz von 't ' ab, die dieser Container Instanz hinzugefügt wurde. Wenn dieser Container kein 't-Zeichen enthält, gibt diese Funktion NULL zurück. (Geerbt von DkmDataContainer) |
| GetNextFrames(DkmWorkList, Int32, DkmCompletionRoutine<DkmGetNextFramesAsyncResult>) |
Abrufen der nächsten Frames aus der-Rückruf Stapel. Wenn dies der erste-Vorgang für einen bestimmten dkmstackcontext ist, werden die ersten Frames zurückgegeben. Diese Methode ist die empfohlene Vorgehensweise zum Abrufen der Rückruf Stapel, da der Stapel Anbieter einen Cache des physischen Stapels verwaltet. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. |
| RemoveDataItem<T>() |
Entfernen Sie die Instanz 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) |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Fügen Sie ein neues Element in den Datencontainer ein. (Geerbt von DkmDataContainer) |
Explizite Schnittstellenimplementierungen
| IDisposable.Dispose() |
Muss hinzugefügt werden. |