Modules vs. Assemblies from the managed debugger’s perspective


While managed assemblies may be very interesting from the loader and deployment perspective, they don’t really have much interesting for debuggers. The debugger is far more concerned with modules:
 – the key debugging functionality is associated with modules. From the debugger’s perspective, Assembly behaves like a property on module, and not a container for modules. 
 – modules are 1:1 with the key files like .exe and .dll files
 – modules are 1:1 with pdbs, which means source-files are resolved once the module is loaded. 
 – native-debugging only has modules and not assemblies. So assemblies don’t fit into the existing paradigms established by native-debugging. 

Comments (2)

  1. When you attach to a managed debuggee (via ICorDebug::DebugActiveProcess), ICorDebug generates a set