I need my release *.exe to generate *.pdb files in order to be able to analize any dump file the final user might send to me, I've already sorted that part out but I was wondering if it is necessary to save the *.pdb files or I can generate them with the source code; it looks like the latter. Here is what I've tried:
- I build
*.exethat crashes on purpose (let's call it "A.exeV1"). - Copy "
A.exeV1" to another machine. - Execute "
A.exeV1", it crashes and creates "A.dmpV1". - Copy "
A.dmpV1" to my machine, I can debug this dump file with no issues. - Delete all
*.pdbfiles, try to debug "A.dmpV1" and it (expectedly) complains with the message "Debugging information for 'A.exe' cannot be found or does not match". - Without changing a single character in any source file rebuild the program (let's call it "
A.exeV2") now I have freshly created*.pdbfiles1. - Try to debug "
A.dmpV1" and it (unexpectedly) complains with the message "Debugging information for 'A.exe' cannot be found or does not match". - If I copy "
A.exeV2" to the other machine, generate a new dump ("A.dmpV2") then I can debug "A.dmpV2" with no issues.
So the question is: Are *.pdb files bound to a specific compilation? or I'm doing something wrong?
1This new *.pdb files have a different size compared to the previous ones!?