Questions tagged [umdh]

User-Mode Dump Heap is a debugging utility for performing analysis of heap memory allocations for a Windows process.

User-Mode Dump Heap is a debugging utility (umdh.exe) for performing analysis of heap memory allocations for a Windows process. It can be run in one of two modes:

  1. Analyze a running process by outputting allocation information to the console or to a log file.
  2. Analyze a pair of log files by comparing them, making memory leaks easier to find.

More information is available on MSDN.

21 questions
4
votes
1 answer

Has Microsoft Deprecated GFlags and UMDH?

In Windows Vista I found UMDH to be very helpful, but I can't find it for Windows 7/8, has Microsoft deprecated GFlags and UMDH? If so is there a way that I can get a log of the allocations on the heap by call stack in a Windows 7/8 approved tool?
Jonathan Mee
  • 37,899
  • 23
  • 129
  • 288
3
votes
1 answer

What accounts for the difference between the size of the heap (as reported by umdh) and the (private) working set (as reported by task manager)?

C++ native code running on Windows 7. VS2008. A particular state change on my application increases the working set (private working set) from 16Mb(6.5Mb) to 38Mb(22Mb). As this seemed excessive I examined the heap change using umdh. The difference…
3
votes
3 answers

What causes UMDH to fail to give stack traces

I've used UMDH a dozen times before, never with any problem. Suddenly I don't get a function names in the stack traces in my dump files - just a series of addresses. I've got ust enabled: gflags exe_name +ust I start exe_name, then I do umdh -p:pid…
theschmitzer
  • 12,190
  • 11
  • 41
  • 49
2
votes
2 answers

Unable to use umdh from Windows SDK anymore

I used to use umdh for years to successfully track down memory leaks, however as of late it doesn't seem to be working anymore, even with the very latest version of the Windows SDK. The latest case of where it's not working is on Windows 11. Gflags…
Lucky Luke
  • 1,373
  • 2
  • 13
  • 18
2
votes
0 answers

umdh.exe shows only a fraction of allocations for a specific stack

I'm trying to learn how to troubleshoot memory leaks with umdh.exe. In order to do it I wrote a sample app: void MemoryLeakTest(int argc, _TCHAR* argv[]); int _tmain(int argc, _TCHAR* argv[]) { MemoryLeakTest(argc, argv); return 0; } void…
ZakiMa
  • 5,637
  • 1
  • 24
  • 48
2
votes
1 answer

DebugDiag call stack does not display line number of functions in call stack

I am trying to isolate memory leaks in native code on Windows. I ran multiple iterations of a test case and attached DebugDiag to the process to collect information on the suspected leak (memory leak confirmed through multiple runs in…
2
votes
1 answer

umdh: where are the deallocations, and what is a negative allocation?

I have two fundamental questions regarding umdh: How can it help me find leaks if all it does is report allocations, not deallocations? In the diff result I get lots of new allocations, but there's no report on which were deallocated and which…
gil_mo
  • 575
  • 1
  • 6
  • 27
2
votes
1 answer

Why does UMDH to report "failed to enumerate process modules"?

When running UMDH on a process on Windows 7, I only get a response of "failed to enumerate process modules". Dumps work fine when the process is initially executing, but fail when the memory usage increases. The exact point of failure is unclear,…
KevinS
  • 242
  • 1
  • 7
1
vote
0 answers

Why does User-Mode Dump Heap (UMDH) not detect BSTR-Leaks in x64 applications?

I've had great success in finding memory leaks via GFLAGS and UMDH. However, I just discovered that UMDH somehow does not see BSTR-Leaks in 64 bit applications. Does anyone know why that is? Is it a bug in UMDH? A change in how the Heap-Manager…
STiFU
  • 303
  • 2
  • 8
1
vote
1 answer

UMDH not giving call stack

I'm using UMDH(x64) to test memory leak. My code is neither FPO optimized nor using customized allocators. It uses just "new" operator. "Create User Mode stack trace Database" is enabled in the Gflags(x64) for the image that's being tested. I have…
object
  • 796
  • 1
  • 12
  • 21
1
vote
1 answer

Memory reported in Resource Monitor not showing in UMDH

I have a service which intermittently starts gobbling up server memory over time and needs to be restarted to free it. I turned +ust with gflags, restarted the service, and started taking scheduled UMDH snapshots. When the problem reoccurred,…
adaj21
  • 543
  • 3
  • 11
  • 25
1
vote
0 answers

Interpreting UMDH logs for possible memory leaks in native C++ application

In order to investigate memory build up in my Application (Native code on windows platform) I did the following 1) Ran test case in iteration 2) after each iteration dumped UMDH and then took diff between certain iterations to see a pattern of…
1
vote
1 answer

UMDH & perfmon private bytes

I'm trying to use UMDH to find where huge chunks of memory are being allocated but the results I'm getting seem completely absurd. I start the program, wait for it to reach an equilibrium, and then grab a snapshot with umdh. Then I perform the…
Edward Strange
  • 40,307
  • 7
  • 73
  • 125
1
vote
1 answer

Why can't UMDH find my symbols? Can I interpret a stack trace without them?

I'm trying to debug a memory leak using UMDH. It never successfully loads the symbols, though. I am pretty sure I have things set up correctly - C:\Documents and Settings\Administrator>set…
Mark Wright
  • 705
  • 7
  • 20
0
votes
1 answer

Internet Explorer 9 Silverlight 4 memory leak

We are streaming video from a ashx implementing IHttpAsyncHandler to our Silverlight client. On the clientside the async handler is getting use in a implementation of MediaStreamSource. It all runs fine in latest Firefox, chrome and also in…
1
2