在应用程序中监视堆栈上的值类型和堆上的对象

时间:2010-09-25 08:08:02

标签: c# .net stack heap

原谅我如果这是一个愚蠢的问题。在应用程序(比如控制台应用程序)运行时,可以以编程方式“观察”堆栈和堆的内容吗?是否有任何API可以做到这一点?

2 个答案:

答案 0 :(得分:2)

好吧,您可以尝试使用CLR Debugger API - 虽然我不确定您是否可以在同一过程中使用它。但是,我认为可能有更好的解决方案......你究竟想做什么?这里的大局是什么?

答案 1 :(得分:0)

我不知道虽然一些非托管代码可以轻松跟踪堆栈,而跟踪堆需要考虑GC,因为指针可以在每个GC之后移动。

现在,因为唯一可以更改变量的应用程序是您的控制台应用程序(!)所以为什么要这样做呢?当然,您只会在应用程序中跟踪自己正在做的事情。是为了修复bug吗?在这种情况下,我建议你进行代码审查而不是黑魔法。