Over a million developers have joined DZone.
Platinum Partner

Debugging Windows Store app Background Tasks

· Performance Zone

The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployment of software.

 Windows Store apps can run operations in the background using background tasks. Background tasks are triggered using a background triggers like time or system maintenance. That raises a question which is how we can debug background tasks.

Visual Studio 2012 to the Rescue

Visual Studio 2012 can help you trigger a background task manually. First you need to add a breakpoint to the background task code that you want to check. After you set your breakpoint, you can trigger the background task using the Suspend drop down menu (part of the Debug Location toolbar). The Suspend drop down menu shows all the background tasks associated with the running app. In the next figure you can see the MyBackgroundTask task available in the suspend drop down menu:

Background Task in the suspend menu

Pressing the background task name will manually trigger the task.

Manually triggered Background Task

Pay attention that if the background task isn’t registered nothing will happen and you won’t be able to debug it. 

That is it and now you can debug your code.

Summary

Visual Studio 2012 includes a feature that enables background task debugging. Knowing that can help you avoid waiting to trigger events to happen.

The Performance Zone is brought to you in partnership with New Relic. Read more about providing a framework that gets you started on the right path to move your IT services to cloud computing, and give you an understanding as to why certain applications should not move to the cloud.

Topics:

Published at DZone with permission of Gil Fink , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}