Category Archives: .NET

ClrMD part 2 – From ClrRuntime to ClrHeap or how to traverse the managed heap

The second post of the ClrMD series where I’m detailing how to detect string duplicates has been published on the official Criteo blog! Feel free to follow me there if you are interested in how to write your own tool with … Continue reading

Posted in .NET, Development, Tools | Leave a comment

Tool update – LeakShell 1.4.2

Download LeakShell 1.4.2 x86|x64 I’ve been using LeakShell in my new job at Criteo and I got errors due to large numbers in objects count and size. In the early 2010s when I wrote LeakShell, most of the needs were … Continue reading

Posted in .NET, Development, Memory, Tools | Tagged | Leave a comment

Kernel Leak Shell and automatic elevation

Download Kernel Leak Shell v1.1 The original version of Kernel Handle Leaks Shell has a frustrating feature: you have to explicitely start it elevated or the same error message will pop up all the time because handle.exe that it executes … Continue reading

Posted in .NET, Development, Tools | Tagged , | Leave a comment

Use SAD to view RCWs and CCWs

Download SAD v1.2 x86|x64 The first tool extension for SAD is about COM. When you need to call COM objects methods from .NET code, the runtime creates for you R(untime) C(allable) W(rappers) to hide all the complexity behind this kind … Continue reading

Posted in .NET, Development, Tools | Leave a comment

LeakShell 1.4 – Use the dumps Luke!

After the first release of LeakShell, here is an update that allows you to directly provide dump files . This evolution is based on what I’ve presented to control a debugger engine and send commands to the sos.dll extension. You’re … Continue reading

Posted in .NET, Development, Memory, Tools | 2 Comments

S.A.D. or S(imple) A(fter) D(ump)

When I’m investigating issues for customers, I usually use WinDBG to dig into some dump files. In the case of .NET applications, I’m taking advantage of the commands exported by the sos/sosex/psscor extensions to get a view of the application … Continue reading

Posted in .NET, Development, Tools | 3 Comments

Sending an SOS

The previous post explained how to take advantage of DbgHost.exe, the debugging host provided by DebugDiag, to make a debugger engine load a dump file and execute commands like what you can do manually in WinDBG and the Immediate window … Continue reading

Posted in .NET, Development | 1 Comment