Dudi Keleti

I work on .NET diagnostics at Datadog: CLR profiling, runtime instrumentation, and developer tooling.

I write about how .NET works underneath: IL, the runtime, the C# compiler, and the tools for debugging and diagnosing .NET applications.

Recent writing

  1. Writing IL according to the specification

    Writing IL that matches what the C# compiler emits: how is, as, casts, and generic constraints turn into box, isinst, and castclass.

  2. How to inspect a MethodSpec signature without code

    What a MethodSpec is in .NET metadata, how its signature is encoded in the blob stream, and how to read it with dnSpy or CFF Explorer.

  3. C# behind the scenes

    The introduction to a series on the code the C# compiler generates for language features such as yield and local functions.

  4. C# behind the scenes: Local functions

    How the C# compiler turns local functions into ordinary methods, and how captured variables move into a generated display struct.

Browse all writing