David Broman's CLR Profiling API Blog

Info about the Common Language Runtime's Profiling API

Goodbye from Dave

Hello to my millions of readers across the world. Or, well, maybe 10 readers across the world....

Author: David Broman Date: 10/10/2013

Writing a Profiler of Windows Store apps

If you’ve written a profiler that consumes the CLR Profiling API, and are looking to update it to...

Author: David Broman Date: 01/09/2013

New sample code for rewriting IL: ILRewrite Profiler

In my previous post, I mentioned the new home for CLRProfiler, where you can find its latest...

Author: David Broman Date: 11/19/2012

CLRProfiler 4.5 released: includes Windows Store app support

You can find CLRProfiler 4.5 at its new home on CodePlex: https://clrprofiler.codeplex.com/ If you’re...

Author: David Broman Date: 11/19/2012

GC Heap and Alignment Padding

The docs for GetObjectSize have recently been updated with this info, but I wanted to mention it...

Author: David Broman Date: 12/29/2011

When is it safe to use ObjectIDs?

As mentioned in this post, ObjectIDs are really pointers to managed objects on the GC heap. And as...

Author: David Broman Date: 12/29/2011

Metadata Tokens, Run-Time IDs, and Type Loading

Overview In this post, I write about the two primary kinds of IDs your profiler deals with, when...

Author: David Broman Date: 10/17/2011

ReJIT: A How-To Guide

By now, you’ve surely downloaded your copy of the .NET 4.5 Developer Preview, and you’ve opened up...

Author: David Broman Date: 10/12/2011

ReJIT Limitations in .NET 4.5

Anyone who’s read a newspaper in the past few weeks knows that the Profiling API in .NET 4.5 will...

Author: David Broman Date: 10/10/2011

ReJIT for Realz?!

Yes!  Check out this new video on channel 9 for the scoop:...

Author: David Broman Date: 09/26/2011

CLRProfiler V4 Released

  CLRProfiler V4 is now publicly available.  You may download from here:...

Author: David Broman Date: 02/01/2011

A while back I posted some sample code written by Rico Mariani to parse CLR metadata signatures....

Author: David Broman Date: 08/25/2010

Profilers, in-process side-by-side CLR instances, and a free test harness

My previous post on New stuff in Profiling API for upcoming CLR 4.0 mentioned that any profiler that...

Author: David Broman Date: 08/25/2010

CLR V4: Profiler Detach

I described how profilers may attach to already-running processes in some previous posts (#1 and...

Author: David Broman Date: 02/03/2010

Generics and Your Profiler

If you’re writing a profiler that you expect to run against CLR 2.0 or greater, you probably care...

Author: David Broman Date: 01/28/2010

Writing a Profiler for Silverlight 4

The Silverlight 4 beta has been released a while ago (see this), and one of the new features in...

Author: David Broman Date: 01/21/2010

CLR V4: Stuff That May Break Your Profiler

When CLR V2 came out, we made a big decision.  If your profiler has not been upgraded for V2...

Author: David Broman Date: 01/07/2010

CLR V4: Profiler Attach Basics With Sample Code

A new feature in CLR V4 is the ability to attach a profiler to a process after that process has...

Author: David Broman Date: 11/04/2009

CLR V4 Beta 2 Released!

All you profiler writers will want to try out your profiler on the latest and greatest! Information...

Author: David Broman Date: 10/19/2009

Type Forwarding

MSDN defines “type forwarding” as moving “a type to another assembly without having to recompile...

Author: David Broman Date: 09/30/2009

CLR V4: Load your profiler without using the registry

One of the new features in CLR V4 is the ability to load your profiler without needing to register...

Author: David Broman Date: 06/16/2009

What does Dave look like?

Find out on channel 9 as Jon Langdon, Thomas Lai, and I discuss some of the new diagnostics features...

Author: David Broman Date: 05/28/2009

Run your V2 profiler binary on CLR V4

Ok, you've installed VS 2010 beta 1, along with .NET FX 4.0 beta 1, and you're wondering--can you...

Author: David Broman Date: 05/26/2009

CLR V4 Beta 1 Released!

Now is the time to try out your profiler against the new .NET FX 4.0 Beta 1 bits.  I'll be...

Author: David Broman Date: 05/26/2009

FunctionHooks.zip re-uploaded

Jonathan Keljo's blog entry on the enter/leave/tailcall function hooks had a link to sample code...

Author: David Broman Date: 02/14/2009

Why we have CORPROF_E_UNSUPPORTED_CALL_SEQUENCE

What follows is a long-lost blog entry that Jonathan Keljo had been working on. I brushed off some...

Author: David Broman Date: 12/23/2008

New stuff in Profiling API for upcoming CLR 4.0

Now that we've finally announced at PDC many of the new features coming up in the next major release...

Author: David Broman Date: 11/10/2008

Visual Studio 2008 SP1 and .NET Framework 3.5 SP1 Released

See Soma's blog entry for more information.  Also, I updated the table that maps Visual Studio...

Author: David Broman Date: 08/13/2008

BUG: GetILFunctionBody returns wrong size

In case you missed it, there was a post on our forum here:...

Author: David Broman Date: 05/22/2008

Debugging Your Profiler II: SOS and IDs

In this debugging post, I'll talk about the various IDs the profiling API exposes to your profiler,...

Author: David Broman Date: 12/18/2007

Debugging Your Profiler I: Activation

This is the first of some tips to help you debug your profiler.  Note that these tips assume...

Author: David Broman Date: 12/11/2007

Versions of Microsoft .NET Framework, CLR, and Your Profiler

[Updated 8/13/2008 with the release of Visual Studio 2008 SP1.] With the many releases of the...

Author: David Broman Date: 12/06/2007

Test my Code! (And get paid for it.)

We've got a new job opening listed here.  If your idea of fun is writing debuggers and...

Author: David Broman Date: 11/13/2007

Tail call JIT conditions

Here are the full details I received from Grant Richins and Fei Chen when I asked how the JIT...

Author: David Broman Date: 06/20/2007

New version of CLRProfiler released (for CLR 2.x only)

If you're having trouble with CLRProfiler crashing the aspnet_wp process, along the lines of this...

Author: David Broman Date: 04/26/2007

Enter, Leave, Tailcall Hooks Part 1: The Basics

The CLR Profiling API allows you to hook managed functions so that your profiler is called when a...

Author: David Broman Date: 03/22/2007

Creating an IL-rewriting profiler

A frequent topic of discussion between those of us on the CLR Profiling API team at Microsoft and...

Author: David Broman Date: 03/06/2007

Forum for Profiling API questions (and more)

The debugging forum has recently had its scope expanded to managed-code tool development in general,...

Author: David Broman Date: 12/11/2006

WOW64 and Your Profiler

Has this ever happened to you? My profiler loads and runs great on my 32 bit box. But when I try to...

Author: David Broman Date: 11/13/2006

Bug! Inspecting Value-Type Returns Workaround #2

12/6/2007 Update: The bug described below has been fixed in CLR 2.0 SP1.  (See this post for...

Author: David Broman Date: 06/07/2006

Add local to LocalVarSig

All source code is provided as is, with no warranties intended or implied. Use at your own risk. //...

Author: David Broman Date: 05/18/2006

Bug! Inspecting Value-Type Returns

12/6/2007 Update: The bug described below has been fixed in CLR 2.0 SP1.  (See this post for...

Author: David Broman Date: 02/27/2006

DoStackSnapshot Tidbit #3: Callback CONTEXT Registers

In my initial post about DoStackSnapshot, I touched on how and when your profiler can "fill in the...

Author: David Broman Date: 10/24/2005

Sample: A Signature Blob Parser for your Profiler

8/25/10 Update: The sample code linked below is now also available on the MSDN Code Gallery SigParse...

Author: David Broman Date: 10/13/2005

sigparse.cpp

8/25/10 Update: All sample code for this topic is now also available on the MSDN Code Gallery...

Author: David Broman Date: 10/13/2005

sigformat.cpp

8/25/10 Update: All sample code for this topic is now also available on the MSDN Code Gallery...

Author: David Broman Date: 10/13/2005

PlugInToYourProfiler.cpp

8/25/10 Update: All sample code for this topic is now also available on the MSDN Code Gallery...

Author: David Broman Date: 10/13/2005

Next>