Using the GUI
Exception Tracking is a form of Analytics that allows an injected application to report when unhandled exceptions occur.
Note: Dotfuscator Professional Edition also allows you to track exceptions caught by your application and exceptions thrown by your application.
To track exceptions:
Configure the properties of these attributes appropriately.
Build your Dotfuscator project.
The output assemblies will now contain injected code for exception tracking.
Exception tracking can be used on methods within all assemblies supported by analytics. Exception tracking can also be used on those assemblies themselves except for the following cases:
.dllassemblies (this restriction does not exist in the Professional Edition)
When an exception occurs, it may be helpful for the user to provide additional information, such as what scenario triggered the error. Additionally, the user may consent to sending an exception report even if they previously opted-out of Analytics. You can have your application provide this information, or you can have the injected code ask the user for the information.
This information is communicated via a source defined with the
ExceptionTrackAttribute called ReportInfoSource.
The source defines either an
IDictionary or an
There are three keys that the injected code will look up in this dictionary:
"consent": value is the string
"false", indicating whether the user opted-in to transmitting this exception report.
"comment": value is a user-provided comment about what the application was doing when the exception occurred.
"contact": value is a user-provided piece of contact information.
Dotfuscator can have the injected code ask the user for information, instead of calling out to application code.
To do this, on the
ExceptionTrackAttribute's ReportInfoSourceElement property, choose the "DefaultAction" value.
This dialog will use the following information, if provided:
ApplicationAttribute's Name property.
BusinessAttribute's CompanyName property.
ExceptionTrackAttribute's PrivacyPolicyUri property.
The user can provide additional details (the comment and contact information) by clicking the Add Details button. If they click the Send Error Report button, the report will be sent. If they close the dialog in any other way, the report will not be sent. The general Analytics opt-in preference will be ignored in all cases.
The generic exception dialog can be used on assemblies supported by exception tracking, and methods within those assemblies, except for the following:
Additionally, in a Silverlight assembly, the generic exception dialog can only be used for assembly-level exception tracking; it cannot be used for method-level tracking.
Exception tracking only generates one type of message: Fault.
Includes the following data: