LiveStacks
LiveStacks copied to clipboard
Move managed symbol resolution to external process
CLRMD does not support attaching to a target that has a different architecture (32-bit vs. 64-bit). Because it is very likely that LiveStacks will run as a 64-bit process -- although it can be built in either configuration -- we should move symbol resolution to an external process that has the same bitness as the target, and communicate with it. It's important for the external process to stay up for the duration of the session, and not respawn for each symbol resolution, because we'd need the CLRMD DataTarget
(with its virtual memory caches) to stay up rather than being refreshed constantly.