Thread.Freeze Method
Stops the thread from executing.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
Sub Freeze
void Freeze()
void Freeze()
abstract Freeze : unit -> unit
function Freeze()
Remarks
For more information, see How to: Use the Threads Window.
Examples
The following example demonstrates how to use the Freeze method.
To test this method
Set the breakpoint inside the worker thread callback method.
Run the target application in the debug mode.
When the application stops on the breakpoint, run the add-in.
public static void FreezeThawTest(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 Freeze Thaw Test");
owp.Activate();
EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
owp.OutputString("There are " + threads.Count + " threads:\n");
foreach(EnvDTE.Thread thread in threads)
{
owp.OutputString("\nThread: " + thread.ID + " Name: " + thread.Name);
owp.OutputString("\n Is frozen : " + thread.IsFrozen);
owp.OutputString("\n Freezing . . . ");
thread.Freeze();
owp.OutputString("\n Is frozen : " + thread.IsFrozen);
owp.OutputString("\n Thawing . . . ");
thread.Thaw();
owp.OutputString("\n Is frozen : " + thread.IsFrozen);
}
}
Shared Sub FreezeThawTest(ByRef dte As EnvDTE.DTE)
Dim str As String
Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads
str = "There are " + threads.Count.ToString() + " threads running."
For Each thread As EnvDTE.Thread In threads
str += vbCrLf + vbCrLf + " Thread: " + thread.ID.ToString()
str += vbCrLf + vbCrLf + " Is frozen: " + thread.IsFrozen.ToString()
str += vbCrLf + vbCrLf + " Freezing ... "
thread.Freeze()
str += vbCrLf + vbCrLf + " Is frozen: " + thread.IsFrozen.ToString()
str += vbCrLf + vbCrLf + " Thawing ... "
thread.Thaw()
str += vbCrLf + vbCrLf + " Is frozen: " + thread.IsFrozen.ToString()
Next
MessageBox.Show(str, "Thread Freeze Thaw Test")
End Sub
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.