Ver tareas y subprocesos en la ventana Pilas paralelas (C#, Visual Basic, C++)View threads and tasks in the Parallel Stacks window (C#, Visual Basic, C++)

El pilas paralelas ventana es útil para depurar aplicaciones multiproceso.The Parallel Stacks window is useful for debugging multithreaded applications. Dispone de varias vistas:It has several views:

Usar la ventana Tareas paralelasUse the Parallel Stacks window

Para abrir el pilas paralelas ventana, debe estar en una sesión de depuración.To open the Parallel Stacks window, you must be in a debugging session. Seleccione depurar > Windows > pilas paralelas.Select Debug > Windows > Parallel Stacks.

Controles de la barra de herramientasToolbar controls

El pilas paralelas ventana tiene los siguientes controles de barra de herramientas:The Parallel Stacks window has the following toolbar controls:

Barra de herramientas de la ventana Pilas paralelasToolbar in Parallel Stacks window

IconosIcon ControlControl DescripciónDescription
Cuadro combinado de subprocesos/tareasThreads/Tasks combo box Subprocesos/tareas cuadro combinadoThreads/Tasks combo box Intercambia la vista entre las pilas de llamadas de subprocesos y las pilas de llamadas de tareas.Switches the view between call stacks of threads and call stacks of tasks. Para obtener más información, vea Vista de tareas y Vista de subprocesos.For more information, see Tasks view and Threads view.
Mostrar marcadas únicamente iconoShow Only Flagged icon Mostrar marcadas únicamenteShow Only Flagged Muestra las pilas de llamadas solo para los subprocesos que están marcados en otras ventanas del depurador, como la subprocesos de GPU ventana y la inspección paralela ventana.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.
Alternar vista de métodoToggle Method View icon Alternar vista de métodoToggle Method View Cambia entre las vistas de pila de llamadas y vista de método.Switches between call stack views and Method View. Para obtener más información, vea Vista de método.For more information, see Method View.
Desplazarse de forma automática al icono actualAuto Scroll to Current icon Desplazar automáticamente al marco de pila actualAuto Scroll To Current Stack Frame Desplaza automáticamente el gráfico para que el marco de pila actual está en la vista.Autoscrolls the graph so that the current stack frame is in view. Esta característica es útil cuando se cambia el marco de pila actual de otras ventanas o cuando se alcanza un nuevo punto de interrupción en los gráficos de gran tamaño.This feature is useful when you change the current stack frame from other windows, or when you hit a new breakpoint in large graphs.
Icono de Zoom de alternanciaToggle Zoom icon Alternar control ZoomToggle Zoom Control Muestra u oculta el control de zoom a la izquierda de la ventana.Shows or hides the zoom control at the left of the window.

Independientemente de la visibilidad del control de zoom, también puede hacer zoom presionando Ctrl y activar la rueda del mouse o presionando Ctrl+MAYÚS + + para acercar y Ctrl+MAYÚS + - Para alejar.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.

Iconos de marco de pilaStack Frame icons

Los iconos siguientes proporcionan información sobre los marcos de pila activos actuales de todas las vistas:The following icons provide information about the active and current stack frames in all views:

IconosIcon DescripciónDescription
Flecha amarilla Indica la ubicación actual (marco de pila activo) del subproceso actual.Indicates the current location (active stack frame) of the current thread.
Icono de subprocesos Indica la ubicación actual (marco de pila activo) de un subproceso distinto del actual.Indicates the current location (active stack frame) of a non-current thread.
Flecha verde Indica el marco de pila actual (el contexto actual del depurador).Indicates the current stack frame (the current debugger context). El nombre del método está en negrita, siempre que aparezca.The method name is bold wherever it appears.

Elementos del menú contextualContext menu items

Los elementos de menú contextual siguientes están disponibles cuando hace clic en un método en subprocesos vista o tareas vista.The following shortcut menu items are available when you right-click a method in Threads view or Tasks view. Los últimos seis elementos son los mismos que en el ventana Pila de llamadas.The last six items are the same as in the Call Stack window.

Menú contextual de la ventana Pilas paralelasShortcut menu in Parallel Stacks window

Elemento de menúMenu item DescripciónDescription
MarcarFlag Marca el elemento seleccionado.Flags the selected item.
Quitar marcadorUnflag Quita la marca del elemento seleccionado.Unflags the selected item.
InmovilizarFreeze Inmoviliza el elemento seleccionado.Freezes the selected item.
ReanudarThaw Reanuda el elemento seleccionado.Thaws the selected item.
Cambiar a marcoSwitch To Frame Igual que el menú correspondiente de comandos en el pila de llamadas ventana.Same as the corresponding menu command in the Call Stack window. Sin embargo, en el pilas paralelas ventana, puede ser un método en varios marcos.However, in the Parallel Stacks window, one method may be in several frames. Puede seleccionar el fotograma que desee en el submenú de este elemento.You can select the frame you want in the submenu for this item. Si uno de los marcos de pila se encuentra en el subproceso actual, ese marco se selecciona de forma predeterminada en el submenú.If one of the stack frames is on the current thread, that frame is selected by default in the submenu.
Vaya a la tarea o ir a subprocesoGo to Task or Go to Thread Se activa en el tarea o subprocesos vista y mantiene el mismo resaltado de marco de pila.Switches to the Task or Threads view, and keeps the same stack frame highlighted.
Ir al código fuenteGo To Source Code Se dirige a la ubicación correspondiente en la ventana de código fuente.Goes to the corresponding location in the source code window.
Ir al desensambladoGo To Disassembly Se dirige a la ubicación correspondiente en el desensamblado ventana.Goes to the corresponding location in the Disassembly window.
Mostrar código externoShow External Code Muestra u oculta el código externo.Shows or hides external code.
Presentación hexadecimalHexadecimal Display Alterna entre la presentación hexadecimal y decimal.Toggles between decimal and hexadecimal display.
Mostrar subprocesos en código fuenteShow Threads in Source Marca la ubicación del subproceso en la ventana de código fuente.Flags the location of the thread in the source code window.
Información de carga de símbolosSymbol Load Information Se abre el información de carga de símbolos cuadro de diálogo.Opens the Symbol Load Information dialog box.
Configuración de símbolosSymbol Settings Se abre el configuración de símbolos cuadro de diálogo.Opens the Symbol Settings dialog box.

Vista de subprocesosThreads view

En subprocesos ver, el marco de pila y la ruta de acceso de llamada del subproceso actual se resaltan en azul.In Threads view, the stack frame and call path of the current thread are highlighted in blue. Se muestra la ubicación actual del subproceso mediante la flecha amarilla.The current location of the thread is shown by the yellow arrow.

Para cambiar el marco de pila actual, haga doble clic en un método diferente.To change the current stack frame, double-click a different method. Esto podría cambiar también el subproceso actual, dependiendo de si el método seleccionado es parte del subproceso actual o en otro subproceso.This might also switch the current thread, depending on whether the method you select is part of the current thread or another thread.

Cuando el subprocesos ver gráfico es demasiado grande para caber en la ventana, un vista aérea control aparece en la ventana.When the Threads view graph is too large to fit into the window, a Bird's Eye View control appears in the window. Puede mover el fotograma en el control para navegar a distintas partes del gráfico.You can move the frame in the control to navigate to different parts of the graph.

La siguiente ilustración muestra un subproceso que va de Main a una administrada para la transición de código nativo.The following illustration shows one thread that goes from Main to a Managed to Native code transition. Seis subprocesos están en el método actual.Six threads are in the current method. Uno sigue Thread.Sleep y otro continúa a Console.WriteLine y, a continuación, SyncTextWriter.WriteLine.One continues to Thread.Sleep, and another continues to Console.WriteLine and then to SyncTextWriter.WriteLine.

Vista en la ventana Pilas paralelas de subprocesosThreads view in Parallel Stacks window

La tabla siguiente describen las características principales de la subprocesos vista:The following table describes the main features of the Threads view:

LlamadaCallout Nombre del elementoElement name DescripciónDescription
11 Nodo o segmento de pila de llamadasCall stack segment or node Contiene una serie de métodos para uno o varios subprocesos.Contains a series of methods for one or more threads. Si el marco no tiene ninguna línea de flecha conectada a ella, el marco muestra la ruta de acceso de llamadas completa para los subprocesos.If the frame has no arrow lines connected to it, the frame shows the entire call path for the thread(s).
22 Resaltado azulBlue highlight Indica la ruta de acceso de la llamada del subproceso actual.Indicates the call path of the current thread.
33 Líneas de flechaArrow lines Conecta nodos para recuperar la ruta de acceso completa de la llamada de subprocesos.Connect nodes to make up the entire call path for the thread(s).
44 Encabezado de nodoNode header Muestra el número de procesos y subprocesos para el nodo.Shows the number of processes and threads for the node.
55 MétodoMethod Representa uno o más marcos de pila del mismo método.Represents one or more stack frames in the same method.
66 Información sobre herramientas en el métodoTooltip on method Aparece cuando mantenga el mouse sobre un método.Appears when you hover over a method. En subprocesos vista, la información sobre herramientas muestra todos los subprocesos en una tabla similar a la subprocesos ventana.In Threads view, the tooltip shows all threads, in a table similar to the Threads window.

Vista de tareasTasks view

Si su aplicación usa System.Threading.Tasks.Task objetos (código administrado) o task_handle objetos (código nativo) para expresar el paralelismo, puede usar tareas vista.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. La vista de tareas muestra las pilas de llamadas de las tareas en lugar de los subprocesos.Tasks view shows call stacks of tasks instead of threads.

En tareas vista:In Tasks view:

  • No se muestran las pilas de llamadas de subprocesos que no están ejecutando tareas.Call stacks of threads that aren't running tasks aren't shown.
  • Las pilas de llamadas de subprocesos que están ejecutando tareas se recortan visualmente en la parte superior e inferior, para mostrar los marcos más pertinentes para las tareas.Call stacks of threads that are running tasks are visually trimmed at the top and bottom, to show the most relevant frames for tasks.
  • Cuando varias tareas están en un subproceso, se muestran las pilas de llamadas de esas tareas en nodos independientes.When several tasks are on one thread, the call stacks of those tasks are shown in separate nodes.

Para ver una pila de llamadas completa, cambie a subprocesos vista con el botón secundario en un marco de pila y seleccionando ir a subproceso.To see an entire call stack, switch back to Threads view by right-clicking in a stack frame and selecting Go to Thread.

La siguiente ilustración muestra el subprocesos vista en la parte superior y el correspondiente tareas vista en la parte inferior.The following illustration shows the Threads view at the top and the corresponding Tasks view at the bottom.

Vistas de subprocesos y tareasThreads and Tasks views

Mantenga el mouse sobre un método para mostrar una información sobre herramientas con información adicional.Hover over a method to show a tooltip with additional information. En tareas vista, la información sobre herramientas muestra todas las tareas en una tabla similar a la tareas ventana.In Tasks view, the tooltip shows all the tasks in a table similar to the Tasks window.

La siguiente imagen muestra la información sobre herramientas para un método en el subprocesos vista en la parte superior y el correspondiente tareas vista en la parte inferior.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.

Información sobre herramientas de subprocesos y tareasThreads and Tasks tooltips

Vista de métodoMethod View

Desde subprocesos vista o tareas vista, puede dinamizar el gráfico en el método actual seleccionando el Alternar vista de método icono en la barra de herramientas.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. La vista de método muestra de una ojeada todos los métodos de todos los subprocesos que llaman o a los que llama el método actual.Method View shows at a glance all methods on all threads that either call or are called by the current method. La ilustración siguiente muestra qué aspecto tiene la misma información en subprocesos ver a la izquierda y en vista de método a la derecha.The following illustration shows how the same information looks in Threads view on the left and in Method View on the right.

Subprocesos de vista y vista de métodoThreads view and Method View

Si cambia a un nuevo marco de pila, convertir ese método del método actual, y vista de método muestra todos los llamadores y destinatarios para el nuevo método.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. Esto puede hacer que algunos subprocesos aparezcan o desaparezcan de la vista, dependiendo de si ese método aparece en sus pilas de llamadas.This may cause some threads to appear or disappear from the view, depending on whether that method appears on their call stacks. Para volver a la vista de la pila de llamadas, seleccione el vista de método nuevo icono de barra de herramientas.To return to the call stack view, select the Method View toolbar icon again.

Vea tambiénSee also