Следуя моему предыдущему вопросу, в котором я хотел сбросить все переменные в стеке (из текущего и всего предыдущего кадра), которые можно увидеть здесь: Есть ли способ проверить переменные стека во время выполненияв C #?
мне предложили перехватывать вызовы вручную или использовать инфраструктуру AOP, такую как PostSharp, чтобы упростить такую задачу.Я посмотрел на PostSharp и аргументы перехвата не включают переменные в текущий кадр стека.Интересно, есть ли простой способ автоматически получить все локальные переменные в текущем кадре стека?Я предполагаю, что могу выполнить анализ кода и сгенерировать код, который копирует все эти значения в коллекцию, но, возможно, есть встроенный механизм, который делает это.
Заранее благодарен за любые предложения.
РЕДАКТИРОВАТЬ: Я должен был дать более подробную информацию о том, почему я хочу это сделать.Я хочу иметь возможность приостановить выполнение в середине метода.Если бы у меня было содержимое стека, я мог бы позже возобновить выполнение или даже сериализовать его и продолжить его на другом компьютере (при условии, что это относительно простой код, например, без потоков или ввода-вывода).Можно запустить инструмент анализа кода, который позволил бы мне автоматически генерировать дополнительный код, который сохраняет это состояние.Я думаю, что мне, вероятно, придется проанализировать CIL, чтобы сделать это.