Я использовал много раз UMDH с очень хорошими результатами. В руководстве, которое вы упомянули при описании WinDbg, используется тот же метод, что и в UMDH, основанный на способности кучи отладки записывать трассировки стека для всех выделений. Единственное отличие состоит в том, что UMDH делает это автоматически - вы просто запускаете umdh из командной строки, и он создает снимок всех текущих выделений. Обычно вы повторяете снимки два или более раз, а затем вычисляете «дельту» между двумя снимками (также используя umdh.exe). Информация в файле «delta» дает вам все новые распределения, которые происходят между вашими снимками, отсортированные по размеру распределения.
UMDH также нужны символы. Для ntdll.dll вам понадобятся как минимум символы (там же находится реализация кучи). Публичные символы, доступные на общественных символах от http://msdl.microsoft.com/download/symbols, будут работать нормально.
Убедитесь, что вы используете правильную разрядность файла umdh.exe. Explorer.exe является 64-разрядным в 64-разрядной ОС, поэтому, если ваша ОС является 64-разрядной, вам нужно использовать 64-разрядный файл umdh.exe - то есть загрузить соответствующую разрядность средств отладки Windows.