title: Is there a simple way to obtain all the local variables in the current stack frame in C# (or CIL)
body: <p>Following my previous question, in which I wanted to dump all the variables in the stack (from the current and all the previous frame) that can be seen here: <a href="https://stackoverflow.com/questions/5130414/is-there-a-way-to-examine-the-stack-variables-at-runtime-in-c">Is there a way to examine the stack variables at runtime in C#?</a></p>
  
  <p>I was suggested to intercept the calls manually or use AOP framework like PostSharp to simplify such a task. I looked at PostSharp and the interception arguments don't include the variables in the current stack frame. I wonder if there is a simple way to automatically get all the local variables in the current stack frame. I suppose I can perform code analysis and generate code that copies all those values into a collection, but maybe there is a built-in mechanism that does it.</p>
  
  <p>Thanks in advance for any suggestions.</p>
  
  <p>EDIT: I should have given more detail of why I want to do this. I want to be able to suspend execution in the middle of a method. If I had the contents of the stack I could resume execution later, or even serialize it and continue it in another machine (assuming it is relatively simple code, so no threads or I/O for example). It is ok to run a code analysis tool that would allow me to automatically generate extra code that saves this state. I think I will probably have to analyze the CIL to do this.</p>