views:

1411

answers:

2

Is is wise to redistribute the pdb files along with a commercial application?

Occasionally, I'm using the stack trace to get a more detailed error reporting logs from the deployed applications; can this functionality be achieved without relying to those files?

Also, how much hints of the original source code does these files contain? Would it be easier to reverse-engineer my application using it?

+4  A: 

It basically adds information for:

  • All non-public types, interfaces, structures, classes
  • Local variables in functions
  • Source file names for relevant code and corresponding line numbers in source code.

which all combined makes reverse engineering very easy for native code.

Luckily you can create a stripped down version of your PDB files which only contains public information with /PDBSTRIPPED parameter.

Oh you edited to add C#/.NET, so I'm not sure if "PDBSTRIPPED" is applicable. However .NET applications are very easy to reverse engineer even without any symbol information. I wouldn't mind including them in a .NET project.

ssg
A: 

You could try using dia2dump to look at the contents.

Nick