Telerik UI for Windows Phone by Progress

This article describes how the message box info can be customized.

Default Diagnostic Info

If the user agrees to send a report, an email, containing the diagnostic info will be sent. Here is how the default info looks like:

[StackTrace]:[ Navigation is not allowed when the task is not in the foreground. Error: -2147220990 at Microsoft.Phone.Scheduler.SystemNotificationInterop.CheckHr(Int32 hr) at Microsoft.Phone.Scheduler.SystemNotificationInterop.CreateNotification(ScheduledAction action) at Microsoft.Phone.Scheduler.ScheduledActionService.Add(ScheduledAction action) at Telerik.WindowsPhone.Tasks.ApplicationHelpers.ScheduleMasterTileUpdateAgent() at Telerik.WindowsPhone.Tasks.App.Application_Launching(Object sender, LaunchingEventArgs e) at Microsoft.Phone.Shell.PhoneApplicationService.FireLaunching() at Microsoft.Phone.Execution.NativeEmInterop.FireOnLaunching() ]

[OccurrenceDate]:[Tue, 31 Jan 2012 12:41:48 GMT]

[AppInstallDate]:[Sun, 29 Jan 2012 19:00:42 GMT]

[AppTotalRuns]:[4]

[AppRunsAfterLastUpdate]:[4]

[AppPreviousRunDate]:[1/29/2012 2:01:54 PM]

[AppVersion]:[1.33]

[Culture]:[en-US]

[CurrentPageSource]:[/Views/SyncProvidersList.xaml?SyncProviderId=1]

[NavigationStack]:[/Views/MainPage.xaml]

[DeviceManufacturer]:[HTC]

[DeviceModel]:[mwp6985]

[DeviceHardwareVersion]:[0003]

[DeviceFirmwareVersion]:[2305.13.20104.605]

[OSVersion]:[Microsoft Windows CE 7.10.7720]

[CLRVersion]:[3.7.11140.0]

[DeviceType]:[Device]

[NetworkType]:[Wireless80211]

[DeviceTotalMemory(Mb)]:[475.375]

[AppPeakMemoryUsage(Mb)]:[4.828125]

[AppCurrentMemoryUsage(Mb)]:[4.828125]

[IsoStorageAvailableSpace(Mb)]:[2909]

Adding Debug info

If the provided information is not enough, any other information that might be useful can be added during runtime. Here is an example of this feature:

CopyC#
RadDiagnostics.AddDebugInfo(String.Format("filterData = {0}", filterData));
Note

Please, note that in order to keep the performance high, the diagnostics data is limited to the last 1 000 000 symbols.

Adding Custom data

Another way to add information to the Diagnostics data is to use the ExceptionOccuredEventArgs. Here is an example:

CopyC#
diagnostics.ExceptionOccurred += new EventHandler<ExceptionOccurredEventArgs>(diagnostics_ExceptionOccurred);


void diagnostics_ExceptionOccurred(object sender, ExceptionOccurredEventArgs e)
{
    e.CustomData = "Your custom data.";
}

Email subject

The email subject is composed by:

  • Application Name
  • Application Version
  • Hash code of the Stack Trace

Having the hash code of the stack trace in the subject may be very useful if the emails are grouped as this way it would be very easy to track which error occurs most often and which are the top priority issues. Here is an example how the inbox could look like if the email are properly organized:

Diagnostics Mails