On this page, we will show you in a few simple steps how your .Net (managed) application can be modified to provide full debug information on the BugSplat website when it crashes.
To get a feel for the BugSplat service prior to enabling your application, feel free to experiment with the myCSharpCrasher sample application which is part of the BugSplat software development kit that can be downloaded by registered users.
Enabling your application with BugSplat technology:
First, make sure you have completed the following checklist:
- Register a new BugSplat User.
- Login using your BugSplat User Id
- Download and unzip the BugSplat software development kit for .NET Managed Applications.
Creating defect reports using your own application
Add BugSplat to your application as follows:
- Add a reference to
"BugSplat.Net.Dll". - Add a call to BugSplat.Init as shown in the sample code above for
myCSharpCrasher.
The initialization call requires three parameters: BugSplat database, application name and version.
You supply application name and version.
The BugSplat database is created and selected on the Manage Databases page.
Typically, you will create a new database for each major release of your product.
- Add symbolic debug information to your release build
- Add
"BsSndRpt.exe","BugSplat.Net.dll", and"BugSplatRC.dll"to your applications installer.
In order to get the best symbolic stack reports, symbolic debug information (PDB files) need to be available with your application's executable image. These files aren't typically part of production builds and installs. However, including them makes debugging customer crash reports far simpler. If you don't ship the PDB files with your application you will still get symbolic stack traces. However, you won't see file names and line numbers for each function on the stack. This limitation will be removed with future versions of the Microsoft .NET framework.
Modify your build settings so that symbol files are created for Release builds, e.g:
Remember to test your application by forcing a crash, and verifying that crashes are posted and symbol names are resolved.
Please contact us with any questions or problems you have - we want to help!
