How long does it take to integrate BugSplat with my application?
This varies with the complexity of the target application, but often integration can be accomplished with a few hours of work.
Will my application's performance be affected by BugSplat?
No. There is no impact on runtime performance.
Is my source code safe when using BugSplat?
BugSplat doesn’t access any of your source code.
Your source code remains safely behind your corporate firewall.
Why are my crash reports missing function names and source code line numbers
in the call stack report?
-
Native Applications
- Modify your complier settings to create symbol files for your production build. (There is more information on this topic in the next question.)
- Make sure you’ve uploaded all symbol and executable files at our symbol upload page.
- The application name and version number supplied when you upload files must match the associated parameters in the MiniDmpSender initialization call within your application. There is more about the MiniDmpSender topic on our myCrasher example page.
- Be sure to include the current version of dbghelp.dll, BugSplat.dll, BugSplatRc.dll, and bssndprt.exe when you install your application.
-
.NET Managed Applications
Call stacks for managed applications are calculated on the client computer. These call stacks include line number and source code file names only if the .pdb symbol files are installed on the client computer. In future versions (when Microsoft debugging tools support it) we will relax this restriction and create minidumps for .Net applications. At that time, managed appliction crash reporting will function just like native application crash reporting.
What compiler options are required to create good symbol files?
-
Native Applications
You should make sure you have the following compiler options set for all of your C++ projects in the release configuration.-
/Zi
this option causes symbol files (.PDB) to be generated -
/Oy-
this option guarantees stack frame creation for all functions in the project.
-
-
.NET Managed Applications
Modify your Release build settings so that debug information (pdb files) are created.
Can I use an EXE (PE) compression utility such as UPX for native
Windows applications and still use the BugSplat service?
UPX is not supported at this time. The main reason is that the debug information section is compressed along other sections of the PE file.
When a minidump is collected, it attempts to embed information from this section into the minidump file so a match can be made on our backend between the
binary and the symbol (PDB) file. Because this information is missing, we cannot locate the correct PDB file and as such cannot
reliably calculate call stacks.
A commercial tool is available for PE compression, however, that can keep the required information intact.
The tool is called PECompact2, and is available through bitsum.com
for a small fee.
You will need to use version 2.80 beta 6 or later, along with the following parameters:
pec2 /Wl:Y /Sd:N <filename>
When you upload symbols, you will also need to upload the compressed binaries rather than
the original built libraries in order to obtain a good callstack in the BugSplat system.
Why don't I need to upload my Java binaries on the Manage Symbols page?
For Java, there is no requirement to upload the binaries,
since a minidump file is not used. The stack information is prepared when the exception occurs and uploaded to the BugSplat server.
