Thread2.IsFrozen-Eigenschaft
Ruft ab, ob die Ausführung eines Threads vom Debugger angehalten wurde.
Namespace: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Syntax
'Declaration
ReadOnly Property IsFrozen As Boolean
bool IsFrozen { get; }
property bool IsFrozen {
bool get ();
}
abstract IsFrozen : bool with get
function get IsFrozen () : boolean
Eigenschaftswert
Typ: Boolean
Wenn der Thread vom Debugger gesperrt ist, wird der boolesche Wert true zurückgegeben und andernfalls false.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die Collection-Eigenschaft verwendet wird.
So testen Sie diese Eigenschaft
Legen Sie den Haltepunkt in der Callbackmethode des Arbeitsthreads fest.
Führen Sie die Zielanwendung im Debugmodus aus.
Führen Sie das Add-In aus, wenn die Anwendung am Haltepunkt anhält.
public static void TestThreadProperties(DTE2 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(EnvDTE90.Thread2 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);
owp.OutputString("\n Flag on the thread : " + thread.Flag);
}
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE80.DTE2)
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 EnvDTE90.Thread2 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()
str += vbCrLf + " Flag on the thread: " + _
thread.Flag.ToString()
Next
MessageBox.Show(str, "Thread Test - Properties")
End Sub
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Debuggen von Threads und Prozessen in Visual Studio