Clrmd
-

ClrMD Part 6 — Manipulate memory structures like real objects
This sixth post of the ClrMD series details how to make object fields navigation simple with C# like syntax thanks to the dynamic infrastructure. The associated code is part of the DynaMD library and is available on GitHub and nuget. Part 1: Bootstrap ClrMD to load a dump. Part 2: Find duplicated strings with ClrMD heap…
-

ClrMD Part 5 — How to use ClrMD to extend SOS in WinDBG
This fifth post of the ClrMD series shows how to leverage this API inside a WinDBG extension. The associated code allows you to translate a task state into a human readable value. Part 1: Bootstrap ClrMD to load a dump. Part 2: Find duplicated strings with ClrMD heap traversing. Part 3: List timers by following static…
-

ClrMD Part 4 — What callbacks are called by my timers?
This fourth post of the ClrMD series digs into the details of figuring out which method gets called when a timer triggers. The associated code lists all timers in a dump. Part 1: Bootstrapping ClrMD to load a dump. Part 2: Finding duplicated strings with ClrMD heap traversing. Part 3: List timers by following static fields…
-

ClrMD Part 3 — Dealing with static and instance fields to list timers —
This third post of the ClrMD series focuses on how to retrieve value of static and instance fields by taking timers as an example. The next post will dig into the details of figuring out which method gets called when a timer triggers. As an example, the associated code lists all timers in a dump…
