320 likes | 550 Views
TOOL-588T. Debugging connected Windows 8 apps. Raghu Gatta Principal Development Lead Microsoft Corporation. Agenda. Debugging and troubleshooting ‘connected apps’ Common problems encountered in networking apps Tools available to debug connected apps
E N D
TOOL-588T Debugging connected Windows 8 apps Raghu Gatta Principal Development Lead Microsoft Corporation
Agenda • Debugging and troubleshooting ‘connected apps’ • Common problems encountered in networking apps • Tools available to debug connected apps You’ll leave knowing how to debug network problems • Using Windows and Visual Studio to debug faster • Using tools you already know
Debugging and troubleshooting made easyto deliver great Metro style connected apps • These tools will help you debug faster: ship faster • These tools will help you focus on your app rather than on arcane network details • This tools will help you create more robust apps
What is a good “connected” Metro style app? • Simple for you while delighting your users • Eliminate the bill shock surprise factor • Users feel safer trying new apps
Common problems App bugs Network problems Connection timeouts Connection resets Difference in network topologies Bad names and other DNS name resolution failures Missing capabilities Bad HTTP headers are sent Incorrect use of completion handlers in UI threads
Tools available to debug connected apps • Visual Studio 11 Express • CheckNetIsolation • Fiddler • Event Tracing for Windows (ETW) • Netmon
Using Visual Studio • Visual Studio provides integration with the Windows Runtime networking APIs • IntelliSense describes network specific details • Rich network error reporting
demo Visual Studio: debugging DNS errors
demo Visual Studio: finding capability problems
Using CheckNetIsolation • CheckNetIsolation helps you determine proper network capabilities • There is no need to open firewall rules for Metro style apps
demo CheckNetIsolation: finding specific missing or excessive capabilities
Using Fiddler • Used for debugging HTTP traffic • CheckNetIsolation can also help set the environment to use Fiddler • Some times headers have valuable information, useful when identifying a problem
demo Fiddler: Debugging HTTP
Fiddler setup • Fiddler options, connections tab • Enable “Allow Remote Computers to Connect” • From elevated cmd prompt • CheckNetIsolationLoopbackExempt –a –n=[Package Family Name]
Using ETW • Sometimes problems are hard to reproduce, can’t be stepped through using the debugger • Might happen in elaborate situations • We need a record of the history of the events
demo ETW: debugging hard to repro problems
Using Netmon • Sometimes to understand a problem we have understand how data is sent and what is really sent, over the wire
demo Netmon: debugging advanced low level networking details
Windows and Visual studio provide tools to help you debug faster, to enable you to create great Metro style connected apps.
Windows enables you to use the tools you already know to debug your Metro style connected apps.
Related sessions • [PLAT-785T] Creating connected apps that work on today's networks • [PLAT-580T] Building Windows Runtime sockets apps
Further reading and documentation • Performance • Tools for Metro style app development • Debugging and testing Metro style apps • Analyzing the code quality of Metro style apps • http://www.fiddler2.com/fiddler2/ • http://blogs.technet.com/b/netmon/p/downloads.aspx
thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.