У меня смешанная управляемая/неуправляемая среда (Visual Studio и ReSharper), и я подозреваю, что у вас есть CCW или RCW. Есть ли способ сбросить все выделенные в настоящее время оболочки и определить их источник/цель? У меня есть WinDbg, SOS & SOSEx, поэтому я могу видеть общее количество RCW и CCW с командой! Syncblk. Я просто хочу видеть объекты, поэтому я могу позвонить! Gcroot на них и иначе изучить подозреваемых.Дамп CCW и RCW в смешанном управляемом/неуправляемом процессе
2
A
ответ
2
Чтобы сделать это, вы должны использовать !dumpheap
. !dumpheap -stat
позволит вам найти имена типов (если вы их еще не знаете), а затем !dumpheap -type {typename}
предоставит вам адреса отдельных объектов, которые могут быть переданы в !gcroot
.
Я знаю, как использовать! Dumpheap, я спрашивал о CCW & RCW, а не обо всех управляемых объектах. Как я могу отличить CCW или RCW от других объектов в выводе dumpheap? – 2008-09-24 17:53:16