The pdb2mdb.exe utility can be a really useful tool to aid in debugging managed assemblies which are built with Visual Studio. This tools allows the .pdb file Visual Studio generates containing debug information to be converted to a .mdb file which Mono debuggers (like MonoDevelop and Visual Studio Tools for Unity) can understand.
Problem
Beginning in Unity 5, this issue with pdb2mdb started to occur:
Basically, the pdb2mdb.exe utility is unable to find some assemblies it depends on, and exits with the following error (when it is executed on Windows):
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly ‘Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756’ or one of its dependencies. The system cannot find the file specified.
at Pdb2Mdb.Driver.Main(String[ ] args)
Actually, the Mono.Cecil assembly is shipped with the Unity installation. The real problem here is that pdb2mdb.exe from the Mono distribution is executed with the installed .NET Framework on Windows (the default behavior when a managed executable runs). The .NET framework does not understand how to find the Mono dependencies, and pdb2mdb.exe fails.
Solutions
There are a two ways to work around this issue.
Option 1
The pdb2mdb.exe utility should be executed with the Mono runtime (even on Windows). Running it like this will allow it to work correctly:
"C:\Program Files\Unity\Editor\Data\MonoBleedingEdge\bin\mono" "C:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.5\pdb2mdb.exe" <assembly to convert>
Option 2
Instead of using the pdb2mdb utility which ships with Mono, you can try the pdb2mdb utility available here:
This one is made to run on Windows with .NET, so it will work without the need to run it via Mono. Also, this version of pdb2mdb can convert assemblies built with Visual Studio 2015. The pdb2mdb utility which ships with Mono cannot convert them.
Finally, if you are using Visual Studio Tools for Unity, this conversion should occur automatically when an assembly is imported into the Unity project. But if you would like to manually convert the .pdb files, these two options will work.