Aracılığıyla paylaş


Thread.StackFrames Özellik

Yığın çerçeveler limanının bu iş parçacığının çalıştırdığından topluluğu alır.

Ad alanı:  EnvDTE
Derleme:  EnvDTE (EnvDTE.dll içinde)

Sözdizimi

'Bildirim
ReadOnly Property StackFrames As StackFrames
StackFrames StackFrames { get; }
property StackFrames^ StackFrames {
    StackFrames^ get ();
}
abstract StackFrames : StackFrames
function get StackFrames () : StackFrames

Özellik Değeri

Tür: EnvDTE.StackFrames
A StackFrames koleksiyonu.

Örnekler

Aşağıdaki örnek, nasıl kullanılacağını gösterir StackFrames özelliği.

Bu özellik sınamak için

  1. Kesme içindeki alt iş parçacığı geri çağrı yöntemini belirleyin.

  2. Hedef uygulama hata ayıklama modunda çalıştırın.

  3. Uygulama üzerinde kesme noktası durduğunda, eklentiyi çalıştırın.

public static void TestThreadProperties(DTE dte)
{
    // Setup debug Output window.
    Window w = (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("Thread Test");
    owp.Activate();

    EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
    owp.OutputString("\nNumber of items in the Thread collection: " + 
                     threads.Item(1).Collection.Count + "\n");
    foreach(EnvDTE.Thread thread in threads)
    {
        owp.OutputString("\nThread: " + thread.ID + "  Name: " + thread.Name);
        owp.OutputString("\n  Edition of the environment : " + thread.DTE.Edition);
        owp.OutputString("\n  Is alive                   : " + thread.IsAlive);
        owp.OutputString("\n  Is frozen                  : " + thread.IsFrozen);
        owp.OutputString("\n  Location                   : " + thread.Location);
        owp.OutputString("\n  Parent's current mode      : " + thread.Parent.CurrentMode);
        owp.OutputString("\n  Priority                   : " + thread.Priority);
        owp.OutputString("\n  Program name               : " + thread.Program.Name);
        owp.OutputString("\n  Number of stack frames     : " + thread.StackFrames.Count);
        owp.OutputString("\n  Suspended number of times  : " + thread.SuspendCount);
    }
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE.DTE)
    Dim str As String
    Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads
    str = "Number of items in the Thread collection: " + _
          threads.Item(1).Collection.Count.ToString()
    For Each thread As EnvDTE.Thread In threads
        str += vbCrLf + vbCrLf + "  Thread: " + thread.ID.ToString()
        str += vbCrLf + "    Edition of the environment: " + thread.DTE.Edition
        str += vbCrLf + "    Is alive: " + thread.IsAlive.ToString()
        str += vbCrLf + "    Is frozen: " + thread.IsFrozen.ToString()
        str += vbCrLf + "    Location: " + thread.Location
        str += vbCrLf + "    Parent's current mode: " + _
               thread.Parent.CurrentMode.ToString()
        str += vbCrLf + "    Priority: " + thread.Priority
        str += vbCrLf + "    Program name: " + thread.Program.Name
        str += vbCrLf + "    Number of stack frames: " + _
               thread.StackFrames.Count.ToString()
        str += vbCrLf + "    Suspended number of times: " + _
               thread.SuspendCount.ToString()
    Next
    MessageBox.Show(str, "Thread Test - Properties")
End Sub

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

Thread Arabirim

EnvDTE Ad Alanı