The map to your bugs
Online Demos & Assistance Center
More question ? Want to share exeprience with other users ? Welcome to the Forum !
How does CrashDetective works ?
CrashDetective is a troubleshooting application. Provided that you "feed" CrashDetective with a MAP file of your application, it will resolve Crash Addresses (ie : "Access Violation at address 004054D4 in module..."). Thanks to CrashDetective, you'll get the exact line of code (file name and line number) which caused this crash.
What's a MAP file ? How can I generate CrashDetective conpliant MAP files ?
In simple words, a MAP file "links" every line of code to the address of the first address of assembly code generated by the compiler when processing this given line. Every time the application is compiled, a new MAP file is generated.
CrashDetective supports MAP files generated by most compiler (Borland Delphi 7, Microsoft Visual C++ 6,...). In order to make these map files compliant with CrashDetective MAP files loader, some settings must be enabled. Here are example for Delphi 7 and Visual C++ 6.0
Go to the Project -> Settings menu. Then, in the "linker" tab, select "Detailed" map file.
How does the MAP files database work ?
First : Why is CrashDetective using a MAP files database ? As i've said before, everytime you compile your application, a new MAP file is generated by your compiler/linker. This means that once you've compiled v1.2 of your application, you'd be unable to troubleshoot bug reports made with v1.1. With the MAP file database, CrashDetective stores and saves all you MAP files (you have to add them manually to the database once). Thanks to this you're able to process all bug reports from your users, whatever the version they're using !
Now that i've loaded a MAP file into CrashDetective, how can I know where my bugs are ?
Load a MAP file, either from the database or directly from the file browser, then type in your crash address and click on "Search". If CrashDetective manges to find the cause of this bug, a window will pop up containing the name of the source file and the line number associated to this address.