Anzeigen von Threads und Tasks in das Fenster "Parallele Stapel" (C#, Visual Basic C++)View threads and tasks in the Parallel Stacks window (C#, Visual Basic, C++)

Die parallele Stapel Fenster eignet sich zum Debuggen von Multithreadanwendungen.The Parallel Stacks window is useful for debugging multithreaded applications. Er hat mehrere Ansichten:It has several views:

Verwenden des Fensters „Parallele Stapel“Use the Parallel Stacks window

Zum Öffnen der parallele Stapel Fenster müssen Sie in einer Debugsitzung sein.To open the Parallel Stacks window, you must be in a debugging session. Wählen Sie Debuggen > Windows > parallele Stapel.Select Debug > Windows > Parallel Stacks.

Symbolleisten-SteuerelementeToolbar controls

Die parallele Stapel Fenster hat die folgenden Symbolleisten-Steuerelemente:The Parallel Stacks window has the following toolbar controls:

Symbolleiste im Fenster "Parallele Stapel"Toolbar in Parallel Stacks window

SymbolIcon SteuerelementControl BeschreibungDescription
Kombinationsfeld Threads/AufgabenThreads/Tasks combo box Threads/Aufgaben KombinationsfeldThreads/Tasks combo box Schaltet die Ansicht zwischen Aufruflisten von Threads und Aufruflisten von Aufgaben um.Switches the view between call stacks of threads and call stacks of tasks. Weitere Informationen finden Sie unter Aufgabenansicht und Threadansicht.For more information, see Tasks view and Threads view.
Symbol nur gekennzeichnete Elemente anzeigenShow Only Flagged icon Nur gekennzeichnete Elemente anzeigenShow Only Flagged Zeigt nur Aufruflisten für die Threads, die in anderen Debuggerfenster, z. B. gekennzeichnet sind die GPU-Threads Fenster und die parallele Überwachung Fenster.Shows call stacks only for the threads that are flagged in other debugger windows, such as the GPU Threads window and the Parallel Watch window.
Methodenansicht UmschaltsymbolToggle Method View icon Methodenansicht umschaltenToggle Method View Wechselt zwischen der Aufruflistenansicht und Methodenansicht.Switches between call stack views and Method View. Weitere Informationen finden Sie unter Methodenansicht.For more information, see Method View.
Führen Sie einen Bildlauf zum Symbol für aktuellen AutoAuto Scroll to Current icon Automatischen Bildlauf zu aktuellem Stapelrahmen durchführenAuto Scroll To Current Stack Frame Bildlauf des Diagramms wird so, dass der aktuelle Stapelrahmen angezeigt.Autoscrolls the graph so that the current stack frame is in view. Diese Funktion ist nützlich, wenn Sie den aktuellen Stapelrahmen aus anderen Fenstern ändern oder wenn Sie einen neuen Haltepunkt in großen Diagrammen erreichen.This feature is useful when you change the current stack frame from other windows, or when you hit a new breakpoint in large graphs.
Symbol "umschalten Zoom"Toggle Zoom icon Zoomsteuerung ein- bzw. ausschaltenToggle Zoom Control Anzeigen oder Ausblenden des Zoom-Steuerelements auf der linken Seite des Fensters.Shows or hides the zoom control at the left of the window.

Unabhängig von der Sichtbarkeit der zoomsteuerung, Sie können Sie auch Zoomen durch Drücken von STRG und das Mausrad drehen, oder indem Sie bei STRG+UMSCHALT + + zum Verkleinern die Tasten und STRG+UMSCHALT + - zum Verkleinern.Regardless of the visibility of the zoom control, you can also zoom by pressing Ctrl and turning the mouse wheel, or by pressing Ctrl+Shift++ to zoom in and Ctrl+Shift+- to zoom out.

Stack-Frame-SymboleStack Frame icons

Die folgenden Symbole geben Informationen über die aktiven und den aktuellen Stapelrahmen in allen Ansichten:The following icons provide information about the active and current stack frames in all views:

SymbolIcon BeschreibungDescription
Gelber Pfeil Gibt den aktuellen Speicherort (aktiven Stapelrahmen) des aktuellen Threads.Indicates the current location (active stack frame) of the current thread.
Symbol "Threads" Gibt den aktuellen Speicherort (aktiven Stapelrahmen) eines nicht-aktuellen Threads.Indicates the current location (active stack frame) of a non-current thread.
Grüner Pfeil Gibt den aktuellen Stapelrahmen (der aktuelle Debuggerkontext) an.Indicates the current stack frame (the current debugger context). Der Name der Methode ist fett formatiert, sobald es angezeigt wird.The method name is bold wherever it appears.

KontextmenüelementeContext menu items

Die folgenden Elemente des Kontextmenüs sind verfügbar, wenn Sie eine Methode in der Maustaste Threads anzeigen oder Aufgaben anzeigen.The following shortcut menu items are available when you right-click a method in Threads view or Tasks view. Die letzten sechs Elemente sind identisch wie in der Fenster "Aufrufliste".The last six items are the same as in the Call Stack window.

Kontextmenü im Fenster "Parallele Stapel"Shortcut menu in Parallel Stacks window

MenüelementMenu item BeschreibungDescription
KennzeichnenFlag Kennzeichnet das ausgewählte Element.Flags the selected item.
Kennzeichnung aufhebenUnflag Hebt die Kennzeichnung des ausgewählten Elements auf.Unflags the selected item.
EinfrierenFreeze Friert das ausgewählte Element ein.Freezes the selected item.
ReaktivierenThaw Reaktiviert das ausgewählte Element.Thaws the selected item.
Zu Rahmen wechselnSwitch To Frame Identisch mit dem entsprechenden Menü-Befehl in der Aufrufliste Fenster.Same as the corresponding menu command in the Call Stack window. In der parallele Stapel Fenster möglicherweise eine Methode in mehrere Frames.However, in the Parallel Stacks window, one method may be in several frames. Sie können die gewünschten Frames auswählen, in das Untermenü für dieses Element.You can select the frame you want in the submenu for this item. Wenn einer der Stapelrahmen im aktuellen Thread ist, wird dieser Rahmen wird standardmäßig im Untermenü ausgewählt.If one of the stack frames is on the current thread, that frame is selected by default in the submenu.
Wechseln Sie zum Task oder zu Thread wechselnGo to Task or Go to Thread Wechselt in den Aufgabe oder Threads anzeigen und behält den gleichen Stapelrahmen hervorgehoben.Switches to the Task or Threads view, and keeps the same stack frame highlighted.
Gehe zu QuellcodeGo To Source Code Wird an der entsprechenden Position in das Quellcodefenster.Goes to the corresponding location in the source code window.
Zu Disassemblierung wechselnGo To Disassembly Wird an der entsprechenden Position in der Disassembly Fenster.Goes to the corresponding location in the Disassembly window.
Externen Code anzeigenShow External Code Blendet externen Code ein bzw. aus.Shows or hides external code.
Hexadezimale AnzeigeHexadecimal Display Schaltet zwischen dezimaler und hexadezimaler Anzeige um.Toggles between decimal and hexadecimal display.
Threads in Quelle anzeigenShow Threads in Source Bitflags, die den Speicherort der der Thread im Quellcodefenster.Flags the location of the thread in the source code window.
SymbolladeinformationenSymbol Load Information Öffnet die Symbolladeinformationen Dialogfeld.Opens the Symbol Load Information dialog box.
SymboleinstellungenSymbol Settings Öffnet die Symboleinstellungen Dialogfeld.Opens the Symbol Settings dialog box.

ThreadansichtThreads view

In Threads anzuzeigen, auf den Stapelrahmen und Aufrufpfad des aktuellen Threads blau hervorgehoben sind.In Threads view, the stack frame and call path of the current thread are highlighted in blue. Die aktuelle Position des Threads wird durch den gelben Pfeil angezeigt.The current location of the thread is shown by the yellow arrow.

Doppelklicken Sie auf eine andere Methode, um den aktuellen Stapelrahmen zu ändern.To change the current stack frame, double-click a different method. Dies kann auch den aktuellen Thread, je nachdem, ob die Methode, die Sie auswählen, den aktuellen Thread oder ein anderer Thread wechseln.This might also switch the current thread, depending on whether the method you select is part of the current thread or another thread.

Wenn die Threads Diagramm anzeigen ist zu groß für in das Fenster und eine Vogelperspektive Steuerelement angezeigt wird, klicken Sie im Fenster.When the Threads view graph is too large to fit into the window, a Bird's Eye View control appears in the window. Sie können den Frame im Steuerelement zu verschiedenen Teilen des Diagramms Navigieren verschieben.You can move the frame in the control to navigate to different parts of the graph.

Die folgende Abbildung zeigt einen Thread, die von Main gesendet, um einen verwalteten nativen Code wechseln wird.The following illustration shows one thread that goes from Main to a Managed to Native code transition. Sechs Threads sind in der aktuellen Methode.Six threads are in the current method. Eine Thread.Sleep weiterhin, und eine andere fortgesetzt werden, um Console.WriteLine und klicken Sie dann SyncTextWriter.WriteLine.One continues to Thread.Sleep, and another continues to Console.WriteLine and then to SyncTextWriter.WriteLine.

Threadansicht im Fenster "Parallele Stapel"Threads view in Parallel Stacks window

Die folgende Tabelle beschreibt die wichtigsten Funktionen des die Threads anzeigen:The following table describes the main features of the Threads view:

LegendeCallout ElementnameElement name BeschreibungDescription
11 Aufruflistensegment oder -knotenCall stack segment or node Enthält eine Reihe von Methoden für einen oder mehrere Threads.Contains a series of methods for one or more threads. Wenn der Frame keine Pfeillinien verbunden hat, zeigt der Frame den Aufrufpfad für den gesamten Aufrufpfad.If the frame has no arrow lines connected to it, the frame shows the entire call path for the thread(s).
22 Blaue HervorhebungBlue highlight Gibt den Aufrufpfad des aktuellen Threads an.Indicates the call path of the current thread.
33 PfeillinienArrow lines Diese verbinden Knoten, um den gesamten Aufrufpfad für den Thread bzw. die Threads darzustellen.Connect nodes to make up the entire call path for the thread(s).
44 Der Header des hierarchieknotensNode header Zeigt die Anzahl von Prozessen und Threads für den Knoten.Shows the number of processes and threads for the node.
55 MethodeMethod Stellt einen oder mehrere Stapelrahmen in derselben Methode dar.Represents one or more stack frames in the same method.
66 QuickInfo für die MethodeTooltip on method Wird angezeigt, wenn Sie auf eine Methode zeigen.Appears when you hover over a method. In Threads anzeigen, die QuickInfo zeigt alle Threads in einer Tabelle ähnelt der Threads Fenster.In Threads view, the tooltip shows all threads, in a table similar to the Threads window.

AufgabenansichtTasks view

Wenn Ihre app verwendet System.Threading.Tasks.Task -Objekten (verwalteter Code) oder task_handle Objekte (nativer Code) ausdrückt, können Sie Aufgaben anzeigen.If your app uses System.Threading.Tasks.Task objects (managed code) or task_handle objects (native code) to express parallelism, you can use Tasks view. In der Aufgabenansicht werden Aufruflisten von Aufgaben anstelle von Threads angezeigt.Tasks view shows call stacks of tasks instead of threads.

In Aufgaben anzeigen:In Tasks view:

  • Aufruflisten von Threads, die Aufgaben ausgeführt werden, werden nicht angezeigt.Call stacks of threads that aren't running tasks aren't shown.
  • Aufruflisten von Threads, die Aufgaben ausgeführt werden, werden oben und unten, um die relevantesten Frames für Aufgaben anzuzeigen visuell abgeschnitten.Call stacks of threads that are running tasks are visually trimmed at the top and bottom, to show the most relevant frames for tasks.
  • Wenn mehrere Aufgaben in einem Thread befinden, werden die Aufruflisten dieser Aufgaben in separate Knoten angezeigt.When several tasks are on one thread, the call stacks of those tasks are shown in separate nodes.

Um eine gesamte Aufrufliste anzuzeigen, wechseln Sie zurück zum Threads anzeigen, indem Sie mit der rechten Maustaste in einem Stapelrahmen und auswählen zu Thread wechseln.To see an entire call stack, switch back to Threads view by right-clicking in a stack frame and selecting Go to Thread.

Die folgende Abbildung zeigt die Threads Ansicht im oberen Bereich und den entsprechenden Aufgaben Ansicht unten.The following illustration shows the Threads view at the top and the corresponding Tasks view at the bottom.

Threads und Tasks AnsichtenThreads and Tasks views

Zeigen Sie auf eine Methode, um eine QuickInfo mit weiteren Informationen anzuzeigen.Hover over a method to show a tooltip with additional information. In Aufgaben anzeigen, die QuickInfo zeigt alle Aufgaben in einer Tabelle ähnelt der Aufgaben Fenster.In Tasks view, the tooltip shows all the tasks in a table similar to the Tasks window.

Die folgende Abbildung zeigt die QuickInfo für eine Methode in der Threads anzeigen, die Sie am oberen und für den entsprechenden Aufgaben Ansicht unten.The following image shows the tooltip for a method in the Threads view at the top and for the corresponding Tasks view at the bottom.

Threads und Tasks QuickInfosThreads and Tasks tooltips

MethodenansichtMethod View

Entweder Threads anzeigen oder Aufgaben anzeigen, Sie können das Diagramm auf der aktuellen Methode Pivotieren, dazu die Methodenansicht auf der Symbolleiste auf das Symbol.From either Threads view or Tasks view, you can pivot the graph on the current method by selecting the Toggle Method View icon on the toolbar. In der Methodenansicht werden alle Methoden für sämtliche Threads in einem Blick angezeigt, die entweder Aufrufer oder Aufgerufene der aktuellen Methode sind.Method View shows at a glance all methods on all threads that either call or are called by the current method. Die folgende Abbildung zeigt, wie die gleiche Informationen sucht im Threads zeigen Sie auf der linken Seite und im Methodenansicht auf der rechten Seite.The following illustration shows how the same information looks in Threads view on the left and in Method View on the right.

Threads anzeigen "und" Ansicht "Methode"Threads view and Method View

Wenn Sie einen neuen Stapelrahmen wechseln, Sie stellen diese Methode die aktuelle Methode ist und Methodenansicht werden alle Aufrufer und aufgerufenen für die neue Methode angezeigt.If you switch to a new stack frame, you make that method the current method, and Method View shows all callers and callees for the new method. Dabei werden möglicherweise einige Threads in der Ansicht eingeblendet oder ausgeblendet, je nachdem, ob die betreffende Methode in ihren Aufruflisten enthalten ist.This may cause some threads to appear or disappear from the view, depending on whether that method appears on their call stacks. Um auf die Aufruf-Stapel-Ansicht zurückzukehren, wählen Sie die Methodenansicht Symbol auf der Symbolleiste erneut aus.To return to the call stack view, select the Method View toolbar icon again.

Siehe auchSee also