Следующие WinDbg могут помочь вам найти каналы утечки:
!dumpheap -type <Some WCF Type or yours that you suspect to be leaking>
Это покажет список всех экземпляров определенного типа.Как только вы определили протекающий объект
!do <object address>
Это позволит вам осмотреть объект и его свойства.Таким образом, вы сможете использовать ClaimId, используемый для этого канала
!gcroot
. Это позволит вам узнать, какой объект хранит протекающий объект в памяти, и поможет исправить его.Это звучит более полезно, чем фактическая идентификация клиента, поскольку, скорее всего, это проблема с кодом вашего сервера.
Другие полезные команды
!gcwhere <Address>
!FindRoots -gen 1
!FindRoots <Address>
!GCHandleLeaks
!eeheap
!dumpheap -stat
!TraverseHeap fileName
!ObjSize
!FindRoots
Тем не менее, я рекомендую профилировщик памяти RedGate.За последние пару лет для выявления утечек памяти прошел большой путь.Вы можете получить 14 дневную пробную версию .