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 http://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)
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.
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.
Frame Image Function Offset
0 coredll.dll xxx_RaiseException 19
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
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.
Why there is no Exception type and Exception message visible?
In this case there might not be an exception being thrown. This app was generated using AppMakr, so the internals of it are a mystery. Twas the only stack dump I had to work with. You got one with a exception in it post it in the comments here, I'd love to see it.
All my crashes have to do with people not updating (bugs fixed, but I keep getting errors from older versions).. it really sucks!
Dave, you ever thought of just hanging a version xml file on a server somewhere, checking it via httpwebrequest, then shutting your app down if its downlevel.
That's interesting idea... I might do that... (with v2)