CrashFinder
John Robbins wrote a CrashFinder app a long time ago (04/98) that shows how to convert a hex address given in a GPF crash dialog to a line of source code in a release build.
Original MSDN article is here
Code for this article is
here
Capture of article is
here
Short summary:
- set release builds to generate debug info (creates PDB file)
- link settings, debug info = Microsoft Format
- keep the generated PDBs in a safe place somewhere with the shipping binaries
- ALWAYS rebase all your shipping DLLs
Note: no need to rebase EXE's since they're the first thing to load in a given process, so your guaranteed it is a unique address. (Addresses are logical addresses and are unique within a given process.) There is a linker setting for base address for the EXE, but not necessary. Quote from MSDN help:
You should not pass your .EXE file to Rebase. It is the first thing to be loaded, so there is no chance that something else can already be loaded at its default load address.
Now use Crash Finder app, point it to the list of DLLs with their associated PDBs, type in the hex address of the crash, VOILA -- it'll (hopefully) show you the crash line of code!!
Finally, some cool links from John Robbins corner of the world:
Posted 3:09 PM
|
0 comments
|
Permalink