Are *.pdb files bound to a specific compilation?

171 views Asked by At

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:

  1. I build *.exe that crashes on purpose (let's call it "A.exe V1").
  2. Copy "A.exe V1" to another machine.
  3. Execute "A.exe V1", it crashes and creates "A.dmp V1".
  4. Copy "A.dmp V1" to my machine, I can debug this dump file with no issues.
  5. Delete all *.pdb files, try to debug "A.dmp V1" and it (expectedly) complains with the message "Debugging information for 'A.exe' cannot be found or does not match".
  6. Without changing a single character in any source file rebuild the program (let's call it "A.exe V2") now I have freshly created *.pdb files1.
  7. Try to debug "A.dmp V1" and it (unexpectedly) complains with the message "Debugging information for 'A.exe' cannot be found or does not match".
  8. If I copy "A.exe V2" to the other machine, generate a new dump ("A.dmp V2") then I can debug "A.dmp V2" 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!?

0

There are 0 answers