c# - When are pdb files actually loaded -


when doing "debug" build in visual studio outputs pdb file detailed information when exception occurs.

is information in pdb files loaded when executable run or later @ moment when exception occurs?

decompilers such ida load symbol files when analyses executable, or when tell load specific symbols executable, long matches executable being debugged.

debuggers such visual studio debugger load pdb files , symbols starts debugging, not when exception occurs.

the msdn page on pdb files further underlines this:

the visual studio debugger uses project.pdb file created linker directly , embeds absolute path pdb in exe or dll file. if debugger cannot find pdb file @ location or if path invalid (for example, if project moved computer), debugger searches path containing exe, symbol path specified in solution's property pages (common properties folder, debug symbol files page). debugger not load pdb not match binary being debugged.

of course, program compiled without /debug, path pdb file won't included in resulting exe or dll.


Comments