What do pdb files really do?

OK, I understand that PDB files are character files for .NET collections. But I never considered their extended use.

If I connect to a remote debugger from a visual studio in which the downloaded code is loaded, do I really need PDB files on the remote computer?

Will I get raw information about exceptions without them on a machine where the code works without PDB files, and a debugger with source code connected?

What else do they do?

+7
debugging symbols
source share
2 answers

I don’t remember if PDB is required on the remote computer in a remote debugging situation, but among other things PDBs contain the line number of the source code for the compiled code offset map. You cannot go through the source code using only a managed assembly.

Since managed assemblies store a lot of text symbol names from the source code, you can navigate the managed executable with a debugger without a PDB, but you can only see type names and public characters β€” you won’t see names for local characters because they are not needed to bind to a .NET assembly or JIT IL to native code at run time.

Unhandled exception notifications are not related to the presence of a PDB or not. If the debugger is connected to the process, remote or not, the debugger will receive the first crack upon exception.

+2
source share

On a remote computer, pdb is not required. The debugger itself should find it, not the deleted piece of agent.

+1
source share

All Articles