Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any recommended VC++ settings for better PDB analysis on release builds

Are there any VC++ settings I should know about to generate better PDB files that contain more information?

I have a crash dump analysis system in place based on the project crashrpt.

Also, my production build server has the source code installed on the D:\, but my development machine has the source code on the C:\. I entered the source path in the VC++ settings, but when looking through the call stack of a crash, it doesn't automatically jump to my source code. I believe if I had my dev machine's source code on the D:\ it would work.

like image 272
Brian R. Bondy Avatar asked Aug 30 '08 16:08

Brian R. Bondy


1 Answers

"Are there any VC++ settings I should know about"

Make sure you turn off Frame pointer ommision. Larry osterman's blog has the historical details about fpo and the issues it causes with debugging.

Symbols are loaded successfully. It shows the callstack, but double clicking on an entry doesn't bring me to the source code.

What version of VS are you using? (Or are you using Windbg?) ... in VS it should defintely prompt for source the first time if it doesn't find the location. However it also keeps a list of source that was 'not found' so it doesn't ask you for it every time. Sometimes the don't look list is a pain ... to get the prompt back up you need to go to solution explorer/solution node/properties/debug properties and edit the file list in the lower pane.

Finally you might be using 'stripped symbols'. These are pdb files generated to provide debug info for walking the callstack past FPO, but with source locations stripped out (along with other data). The public symbols for windows OS components are stripped pdbs. For your own code these simply cause pain and are not worth it unless you are providing your pdbs to externals. How would you have one of these horrible stripped pdbs? You might have them if you use "binplace" with the -a command.

Good luck! A proper mini dump story is a godsend for production debugging.

like image 150
Steve Steiner Avatar answered Oct 31 '22 08:10

Steve Steiner