Я ищу способ найти все текущие экземпляры в куче типов, реализующих данный интерфейс (то есть во время отладки WinDbg). Поскольку интерфейсы не являются типами в том смысле, что вы можете создавать экземпляры интерфейса, они, очевидно, не отображаются при проверке кучи. Т.е. !dumpheap
здесь мало поможет.
Однако !dumpmt -md
на данном МТ перечисляет количество IFaces
в IFaceMap
. Насколько я могу судить, это число, похоже, указывает, реализует ли тип один или несколько интерфейсов или нет. При использовании флага -md
также перечисляются методы типа.
К сожалению, !dumpmd
не связывает данный метод с интерфейсом, насколько я могу судить, поэтому его нельзя использовать для установки реализованных интерфейсов.
Я предполагаю, что эта информация доступна где-то в памяти, но я не уверен, где ее искать. Любой вклад приветствуется.