What is the practical use of .PDB files?

I read about PDB files and how they relate to debugging, but why do I want to save the pdb file after submitting? If there is a problem, I can just debug my machine. What am I missing?

+4
source share
4 answers

PDB files contain debugging information. If you save them, at least for the released versions of your software, you can debug any crashes that may occur on the client. You do not need to send them a PDB, just ask them to collect an error dump (.dmp) using Windows. Then you can open the dump, for example, in WinDbg and debug the problem.

+3
source

To be able to properly debug, you need the characters that are stored in the PDB file. PDB can also be kept for releases.

The reason it is recommended to support PDB is that entire projects do not need to be rebuilt again, which is actually a multi-day process, usually on a build server. In very large projects, this can be very cumbersome. Maintaining a PDB will help you quickly extract binary files and characters from SCM, and corrected errors (if any) can be resolved faster.

+2
source

.pdb files can be sent to the client to get an exact stack trace. Without .pdb, all your stack traces contain only memory addresses, and itโ€™s a pain to work โ€œmanuallyโ€ that matches those addresses. However, if you have .pdb files, the debugger can restore the stack trace with characters, and this will make life easier.

Also, sometimes you cannot reproduce the problem on your computer, and the only way to see what is wrong is to debug the client machine. It depends on your specific relationship with the client, regardless of whether it is possible ...

+1
source

We live and die from our PDB when recovering or debugging client failures at my work. I checked crash dump files for binary files that were years and years. Thank goodness we have kept our DPB all these years. Without a PDB, you're just about to kiss your goodbye time, as you spend months debugging one crash dump. If you have a PDB, then it is very easy to navigate the stack when debugging a mini-drive.

And don't forget to keep a copy of the source that matches the binaries and PDB. It's nice to use version control for this. But sometimes you donโ€™t always have the luxury to align everything.

+1
source

All Articles