1. Yann Schwartz
  2. linqdbg


Clone wiki

linqdbg / Home


A kinder, gentler, LINQy interface to windbg

Linqdbg is a .Net library intended to query windbg (cdb, actually) using LINQ in an external program or in a REPL interface.

It provides a gentle, strongly-typed alternative to windbg scripting with some of the most commonly used sos/sosex commands supported.

linqdbg builds upon the ideas behind the excellent powerdbg (http://www.codeplex.com/powerdbg) from which it borrows its main mechanism for windbg/cdb interaction.

It's currently in a very preliminary state.

How to use it

It's a library meant for ad hoc querying or scripting. It has been used successfully with LINQPAD as a kind-of REPL (see the Samples directory for an example of a LINQPad script file).

Plans are made to evaluate Mono csharprepl and integrate linqdbg in VS2010.

Related Projects

  • PowerDbg was the inspiration for linqdbg. It's a powershell script meant to pilot windbg.
  • SOSNet is an in development project offering a Windows Forms frontend to sos.


Right now, linqdbg offers support for !DumpHeap !Dumpeap -stat and !GCRoot (to address the sweet spot of finding managed memory leaks)

The first version of linqdbg will add:

  • A bunch of !DumpXXX commands
  • !CLRStack and/or !EEStack
  • A way to load a mini dump (attaching to a live process is the only way to go right now)
  • Support for CLR 4.0

Supported platforms

linqdbg has currently only been tested on .NET 3.5 x86/amd64, with the latest windbg binaries.