C#如何在运行时转储所有变量和当前值

mik*_*ike 23 c# variables runtime dump

是否有任何内置或第三方库允许您在运行时简单地将所有变量转储到内存中?我想要的是能够查看变量和当前值,类似于通过点击断点并将鼠标悬停在变量上来查看变量和当前值,但实际上不必停止程序执行(即只是获取快照).如果它可以将它们转储到一个文件然后可以在程序中打开以获得一个很好的GUI界面来查看它们会很好,但是简单的文本文件转储就足够了.

bob*_*mcr 7

我想不出一种以通用方式做到这一点的简单方法.可行的是以编程方式创建正在运行的进程的转储文件.您可以使用P/Invoke对dbghelp.dll例程执行此操作,也可以生成cdb.exe进程以创建转储文件.获得文件后,可以在调试器中打开它,以便以后使用带有cdb.exe/windbg.exe的SOS.dll进行分析,甚至可以编写调试器脚本来自动转储所需的数据.