Thread.ID-Eigenschaft
Ruft die Thread-ID ab.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
ReadOnly Property ID As Integer
Get
int ID { get; }
property int ID {
int get ();
}
abstract ID : int
function get ID () : int
Eigenschaftswert
Typ: System.Int32
Eine ganze Zahl, die die Thread-ID darstellt.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die ID-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(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-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
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell