Learn to use Visual Studio, Visual Studio Online, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application lifecycle
The Parallel Tasks window was introduced in Visual Studio 2010 to give user a tasks oriented view of their application similar to the Threads window. In Visual Studio 2013, this has been renamed to the Tasks window and is upgraded to aid Windows developers in understanding the state of all tasks and promises running in their application. This can be useful for debugging hung and excessively long tasks. Like the upgraded call stacks, this is supported for all languages that are supported in Visual Studio for developing Windows Store applications.
In addition to the functionality that the window offers in Visual Studio 2010 and 2012 in VB and C#, the window will show all of the tasks that are currently running or are scheduled to run which represent asynchronous operations.
Consider the following C# code:
private async void Button_Click(object sender, RoutedEventArgs e)
private async Task DoWork(int a)
int i = a*a;
private async Task GetFile(int a)
StorageFolder folder = KnownFolders.DocumentsLibrary;
file = await folder.GetFileAsync(a.ToString() + ".txt");
If you are stopped in the continuation part of the GetFile method at the highlighted line above, you will see the following tasks in the Tasks window.
The Start Time represents the time when the task was created relative to the time that you started debugging. The Duration is how long that the task has been running for. This information can help you understand the execution order of your asynchronous tasks and to find which ones may have been running for longer than expected. The location column shows the current location in code. By hovering over the location, you will see a call stack including the asynchronous calls. You can click on the individual frames to navigate to the code. The Task column helps you identify and distinguish between different tasks. For example, “Async: <GetFile> d_8” is the lambda function in the continuation of the GetFile asyncronous method.
Hovering over “Awaiting” status allows you to see which task is being awaited by the current task.
In addition to all of the features in the Parallel Tasks window under C++ debugging, the new Tasks window has additional fields about when a task was created and for how long it’s been scheduled. Consider the example shown below. In this simple Store application, four tasks are created and executed with a breakpoint in the second task. When the breakpoint is hit, we quickly see the state of all active or scheduled tasks in the Tasks window.
The status column shows whether a C++ task has been scheduled or is actively running (completed tasks are not displayed). Start time and duration display when the task began relative to the start of the app and how long it’s been since it was scheduled, in seconds. The location column contains the top of the thread’s call stack and its tooltip displays the full call stack, which is navigable. Additionally, double-clicking anywhere in the row will navigate to the tasks context.
Note: The new C++ Tasks window features are only available for C++ Store applications. For non-Store C++ applications, the behavior is the same as it was for the previous version of Visual Studio.
We would love to hear any questions or comments you have in the comments below or on our MSDN forum.
the Tasks window does not seem to show anything when debugging WP8 Projects?
Unfortunately, this functionality is not currently supported for Windows Phone projects.
Brad, any clue who owns the "Tasks" window? I'm using VS2013 RTM and am unable to load the windows. Get error:
The component 'Microsoft.VisualStudio.Debugger.Parallel.UI.ParallelTasksUI' does not have a resource identified by the URI '/Microsoft.VisualStudio.Debugger.Parallel;component/ui/paralleltasks/paralleltasksui.xaml'.
A connect issue has been opened:
@Jack - we are tracking the issue in this bug: connect.microsoft.com/.../parallel-tasks-view-doesnt-open
Please provide any further info there!