Your Windows Phone App has Crashed! Or has it?

crash

Your Windows Phone App Has Crashed? Or has it? How do you really know? And what kind of clues can you get to why it crashed?

Crash Reporting was just added to the Windows Phone App Hub recently. With Crash Reporting you can see how many of your apps of crashed, when, and get the stack dump of the associated crash.

To see Crash Reports for my applications, you must first login to my account at https://create.msdn.com .
Navigate to the Windows Phone area via "My Dashboard -> Windows Phone".
At the Windows Phone homebase, you will see "App Highlights" with a Recent Crashes count indicator on the right hand side.

As you can see below, my "Sharp as a Marble Reader" has had a recent crash. (yes my downloads suck, no one must like @rachelappel)

Home Base

To get more info on the crash, click on the counter for the Crash Report (in this case 1). You will be navigated to the Crash Count (Beta) detail screen. Note if you click on the app name you will get your application publishing details, instead of the crash info.

Here you can see a timeline of your crashes for one particular app, or all apps if you change your drop down. You may also change the date range of the crash report. See the screen below.

Home Base

Detailed crash results can be informative. Click on the "stack traces" download button, and a spreadsheet will download containing all of the crash details for a particular application. Detail for a single line of crash data is contained below.  You can see the App Name, App Id, App Version, Problem Function, and the stack dump around it. Hopefully the stack dump data will give you some ideas on where your app might be crashing.  One line of the stack data (copied and paste/transposed) is shown below.

 App Name
 SharpAsAMarble Reader
 
App Id
 9a8ad287-4770-e011-81d2-78e7d1fa76f8
 
App Version
 Mango
 
Problem Function
 System.Net.Browser.AsyncHelper.BeginOnUI
 
Stack Trace
 Frame    Image          Function                                                  Offset    
0        coredll.dll    xxx_RaiseException                                        19        
1                                                                                 0         
2                                                                                 0         
3                                                                                 0         
4                       TransitionStub                                            0         
5                       System.Net.Browser.AsyncHelper.BeginOnUI                  580       
6                       System.Net.Browser.ClientHttpWebRequest.EndGetResponse    196       
7                       PointAbout.Mashup.FeedModuleDataProvider.ReadCallback     412       
8                       .__c__DisplayClassa._InvokeGetResponseCallback_b__8       76        
9                       .WorkItem.doWork                                          260       
10                      System.Threading.Timer.ring                               296       
11                                                                                0         
12                                                                                0         
13                                                                                0         
14                                                                                0         
15                                                                                0         
16                                                                                0         
17       coredll.dll    ThreadBaseFunc                                            144

Getting the stack dump is nice, and eyeballing it can help you troubleshoot problems.

Anyone got really good resources on how to work with stackdumps? I've emailed out some of my PFE friends, if they respond back I'll let you know.