Emergency Shutdown

It sounds like you're happy with your answer, and "just say no" is certainly a fine one here, especially since the mechanisms for IPC are finicky and platform-dependent. A sufficiently determined language runtime implementer could implement their data structure abstractions in such a way that data can be interpreted both in-process and "offline" out-of-process. We've done this in an ad-hoc way for most of Swift's runtime metadata; aside from being able to inspect crashed process state, there would be other potential benefits to doing so, such as a debugger being able to nondestructively interpret code out-of-process (unlike how lldb injects code in-process and occasionally makes things worse when trying its best to evaluate expressions in a crashed process context).

5 Likes