ここで見ることができる(現在および前のすべてのフレームからの)スタック内のすべての変数をダンプしたかった私の前の質問に続いて:C#で実行時にスタック変数を調べる方法はありますか?
このようなタスクを簡素化するために、呼び出しを手動でインターセプトするか、PostSharpなどのAOPフレームワークを使用することをお勧めしました。PostSharpを調べましたが、インターセプト引数に現在のスタックフレームの変数が含まれていません。現在のスタックフレーム内のすべてのローカル変数を自動的に取得する簡単な方法があるのだろうか。コード分析を実行して、それらすべての値をコレクションにコピーするコードを生成できると思いますが、それを実行する組み込みのメカニズムがあるかもしれません。
提案を事前に感謝します。
編集:私はこれをしたい理由の詳細を与えるべきでした。メソッドの途中で実行を一時停止できるようにしたい。スタックの内容があれば、後で実行を再開したり、シリアル化して別のマシンで続行したりすることもできます(比較的単純なコードであるため、スレッドやI / Oはありません)。この状態を保存する追加のコードを自動的に生成できるコード分析ツールを実行しても問題ありません。これを行うには、おそらくCILを分析する必要があると思います。