Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question is appropriate only for programs created on the windows platform.

If I build a release of my program with the /Zi option (create pdb file and store path to file in exe) then I don’t have to ship pdb file with release but we could retain for internal use. The pdb file would be retained for our internal Quality Assurance use. Then if a crash occurred, we have a system of printing the stack trace at the point of crash and this 'system' would have access to the exe symbols and we would get a nicely populated stack track in this file.

But there is a slight complication in that the final executable is created by a separate build dept in our company. We developers can of course create a release build.

My query is that one of my colleagues is saying that the exe built by build team would be different from a release build created by us in development. But I don’t understand why? Is my colleague correct? If so why? And if so does this mean my plan for using pdb files with release builds is not possible?

share|improve this question
    
Your real question seems to be, "Will compiling with the /Zi option change the outputted executable?", which I don't think is on topic for this site. –  Kris Harper Apr 19 '12 at 11:08
    
Why not have this release department build and give you PDBs? –  stonemetal Apr 19 '12 at 11:44
add comment

1 Answer

Yes, you have to use the exact PDB file with the exact EXE file created together in the build. I don't have the details ready, but there are timestamps (and checksums?) in these files that will differ and prevent the whole thing from working properly.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.