我的程序崩溃了,它是VS的可视化工具,所以,调试它非常困难,我尝试过转储并使用WinDbg来研究它,但没有成功。
所以,现在我尝试以编程方式把手放在该列表上,但我不知道如何。谢谢。
如果您想查看某个对象是否在终结队列或 f-reachable 队列中,当您启动 WinDBG 时,首先使用以下命令找到您的对象:dumpheap -stat
或任何其他命令。找到对象地址后,您可以使用!FinalizeQueue http://windbg.info/doc/1-common-cmds.html这将输出有多少个对象可最终确定的在每一代中,有多少个对象准备完成。前者是finalization队列,后者是f-reachable队列。
例如:
0:003> !FinalizeQueue
要清理的同步块:0 MTA 接口
待发布: 0 STA 接口待发布: 0
第 0 代有 370 个可终结对象
(0000000000d29030->0000000000d29bc0)
第一代有 4 个可终结对象
(0000000000d29010->0000000000d29030)
第 2 代有 8 个可终结对象
(0000000000d28fd0->0000000000d29010)
准备完成 571 个对象
(0000000000d29bc0->0000000000d2ad98)
现在,您可以看到对象地址空间所在的位置。
一个很棒的教程是可以在这里找到 http://blogs.microsoft.co.il/sasha/2012/02/25/finalization-queue-or-f-reachable-queue-find-out-with-sos/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)