gpt4 book ai didi

c# - 我如何在 C#.Net 中查看堆和堆栈中的对象

转载 作者:太空狗 更新时间:2023-10-29 21:35:57 26 4
gpt4 key购买 nike

是否可以在每行执行后查看堆栈和堆的内容。我想看看它,因为它可以清楚地说明 .Net 中的内存分配和释放。与你的

如果有任何文件或链接可以消除我对您的回答的疑虑,请分享。

最佳答案

SOS 或 PssCor是一个很好的起点,旁边WinDbg .

一旦你解决了这个问题;将 WinDbg 附加到您的进程,加载调试器扩展。例如:

.load C:\pathtoextensions\psscor4.dll

之后,您可以发出 !dumpheap!dumpstack 命令。

这两个命令的输出都非常原始。 !dumpheap -stat 将为您提供堆的“统计”概览。所有分配的类型、分配的数量和总字节数。

这不是一项非常简单的任务。如果您以前没有使用过 WinDbg,则需要一段时间才能充分练习。

您可以做的是使用 !bpmd 在方法上设置断点,并使用上面提到的命令,然后使用 p 命令跳过,并重新运行命令。

我确定还有其他商业工具,例如 ANTS ProfilerdotTrace这可能会完成工作 - 但我对这两种工具都没有太多经验。

开始后,您可以询问有关 SOS 或 Psscor 的(新的)更具体的问题。

关于c# - 我如何在 C#.Net 中查看堆和堆栈中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com