[ACCEPTED]-Do you have to deploy the .pdb file with compiling under release?-release-management
No you do not need to deploy them.
As to 9 why they are even built in release. A PDB 8 file really has a couple of uses but the 7 primary ones (at least for me) are
Both 6 of these tasks are validly done on release 5 binaries which is why release builds include 4 a PDB. In fact, when debugging Watson dumps 3 it's 100% of the time against a release 2 build. Without a PDB I would have to resort 1 to looking through dissasembly :(
You don't have to deploy and distribute 7 the PDB files along with your binaries.
However, I 6 suggest that you keep them (and eventually 5 index them) to be able to analyze any dump 4 files that clients, QA, and support people 3 send you. This way, you will be able to 2 have comprehensible stack traces and symbol 1 information.
If you want, you can also turn the PDB file 1 generation off in the compile options.
PDB files contain debug symbols that allow 6 you to debug your binary even in release mode. You don't have 5 to (and probably shouldn't deploy them), as 4 they might be used to reverse engineer your 3 application. Do keep them archived somewhere, though, because 2 they come in very handy when you want to 1 debug a crash dump.
a PDB file contains information about names 9 of functions. You need it to be able to 8 get a stack trace. It can also contain information 7 about mapping it to sources. Sometimes you 6 might want to ship your release version, and 5 still need to analyze a crash that occurs 4 on the client side. For that, the PDB is 3 needed. The PDB when compiling for release 2 should in theory have less information than 1 when compiling for debug.
Nope. You don't need to distribute them. It'll 6 help with debugging (or I should say it 5 will make debugging possible for sane people).
You 4 can also turn off or adjust the 'level' of 3 symbols generated in Visual Studio -- just 2 go to Project Properties / 'Build' tab / 'Advanced' -- and 1 make adjustments to the 'Debug info' field.
As the majority of the people on this thread 10 have said: no, you don't have to ship the 9 PDB file(s); but really you should if you 8 ever intend to release the code into the 7 wild.
It's really about being able to support 6 your application. Without the PDB, when 5 you application crashes, all your user will 4 be able to tell you is the raw memory address 3 of where the application crashed; but with 2 the PDB file you get an error you can actually 1 do something about.
No, you don't ship the .pdb files. They 2 are generated because sometimes it's helpful 1 to be able to debug a release build.
Some tools like AVICode's InterceptStudio 5 use the pdb files to view the source of 4 a particular exception/stack trace/local 3 from within the tool, rather than having 2 to open up the source and go to a specific 1 line.
You don't need them to run.
pdb files can 2 be used to debug even if the build is on 1 release configuration.
More Related questions