【发布时间】:2011-07-05 01:31:59
【问题描述】:
有没有办法在运行时转储堆栈的内容?
我对可以通过 StackTrace 和 StackFrame 类获得的父函数信息(名称、参数、行)感兴趣。但是,我还想获取堆栈中的变量(在调用当前正在执行的方法中声明的局部变量)。由于 Visual Studio 调试器可以做到这一点,我认为可能有一种方法可以在运行时在代码中做到这一点。有没有这样的方法?
【问题讨论】:
-
根据this post 看来您无法使用 StackTrace 和 StackFrame 类来做到这一点。
-
谢谢!这是一个非常相似的问题。我想知道是否有比使用拦截更简单的方法来做到这一点。
-
只有调试器才能做到这一点,而且只有在代码没有经过优化的情况下才能完成可靠的工作。当您发现程序无法自行调试时,这总是会很快死去。
标签: c# debugging stack stack-trace callstack