I need something that can generate a PDB from a DLL file (C# .NET code), is there any free program to do that?
You can use ILSpy. This is the handy free app for disassembling and generating pdb for managed dll's.