Sign in
David Broman's CLR Profiling API Blog
Info about the Common Language Runtime's Profiling API
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Tags
Pages
Archive
Archives
January 2013
(1)
November 2012
(2)
December 2011
(2)
October 2011
(3)
September 2011
(1)
February 2011
(1)
August 2010
(2)
February 2010
(1)
January 2010
(4)
November 2009
(1)
October 2009
(1)
September 2009
(1)
June 2009
(1)
May 2009
(3)
February 2009
(1)
December 2008
(1)
November 2008
(1)
August 2008
(1)
May 2008
(1)
December 2007
(3)
November 2007
(1)
June 2007
(2)
April 2007
(1)
March 2007
(2)
December 2006
(1)
November 2006
(1)
June 2006
(1)
May 2006
(1)
February 2006
(1)
October 2005
(9)
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
David Broman's CLR Profiling API Blog
Enter, Leave, Tailcall Hooks Part 1: The Basics
Posted
over 6 years ago
by
David Broman
20
Comments
The CLR Profiling API allows you to hook managed functions so that your profiler is called when a function is entered, returns, or exits via tailcall. We refer to these as Enter/Leave/Tailcall hooks, or “ELT” hooks. In this special multi-part investigative...
David Broman's CLR Profiling API Blog
Enter, Leave, Tailcall Hooks Part 2: Tall tales of tail calls
Posted
over 6 years ago
by
David Broman
6
Comments
For most people the idea of entering or returning from a function seems straightforward. Your profiler's Enter hook is called at the beginning of a function, and its Leave hook is called just before the function returns. But the idea of a tail call and...
David Broman's CLR Profiling API Blog
Profiler stack walking: Basics and beyond
Posted
over 8 years ago
by
David Broman
12
Comments
Introduction This article is targeted toward profiler authors, and anyone interested in building a profiler to examine managed applications. I will describe how you can program your profiler to walk managed stacks in version 2.0 of the Common Language...
David Broman's CLR Profiling API Blog
CLRProfiler V4 Released
Posted
over 2 years ago
by
David Broman
10
Comments
CLRProfiler V4 is now publicly available. You may download from here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=be2d842b-fdce-4600-8d32-a3cf74fda5e1 This is of interest both to folks who want a free profiler to diagnose...
David Broman's CLR Profiling API Blog
Creating an IL-rewriting profiler
Posted
over 6 years ago
by
David Broman
11
Comments
A frequent topic of discussion between those of us on the CLR Profiling API team at Microsoft and our customers is how to write a profiler that rewrites IL to do cool stuff. Unfortunately, there still is very little documentation on how to do this, and...
David Broman's CLR Profiling API Blog
New version of CLRProfiler released (for CLR 2.x only)
Posted
over 6 years ago
by
David Broman
1
Comments
If you're having trouble with CLRProfiler crashing the aspnet_wp process, along the lines of this forum post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1039428&SiteID=1 then you'll want to know that we have officially uploaded a...
David Broman's CLR Profiling API Blog
WOW64 and Your Profiler
Posted
over 7 years ago
by
David Broman
9
Comments
Has this ever happened to you? My profiler loads and runs great on my 32 bit box. But when I try to run it on a 64 bit box, it never loads. Shouldn't the WOW just make this all work?! When it comes to running your profilers on 64 bit boxes, there...
David Broman's CLR Profiling API Blog
Versions of Microsoft .NET Framework, CLR, and Your Profiler
Posted
over 6 years ago
by
David Broman
13
Comments
[Updated 8/13/2008 with the release of Visual Studio 2008 SP1.] With the many releases of the Microsoft .NET Frameworks and their service packs, it might not be obvious what versions of the Common Language Runtime (CLR) come alongside them and whether...
David Broman's CLR Profiling API Blog
CLR V4: Stuff That May Break Your Profiler
Posted
over 3 years ago
by
David Broman
1
Comments
When CLR V2 came out, we made a big decision. If your profiler has not been upgraded for V2 (i.e., if your profiler does not support ICorProfilerCallback2), then the CLR will not allow your profiler to run. Why? CLR V2 had some radical...
David Broman's CLR Profiling API Blog
Bug! Inspecting Value-Type Returns Workaround #2
Posted
over 7 years ago
by
David Broman
9
Comments
12/6/2007 Update: The bug described below has been fixed in CLR 2.0 SP1. (See this post for more info.) However, you may still find this info useful as a tutorial on performing IL rewriting. Previously, I posted about a bug with using the...
David Broman's CLR Profiling API Blog
Bug! Inspecting Value-Type Returns
Posted
over 7 years ago
by
David Broman
5
Comments
12/6/2007 Update: The bug described below has been fixed in CLR 2.0 SP1. (See this post for more info.) However, you may still find this info useful as a tutorial on performing IL rewriting. Holger, a helpful reader of this blog, has pointed...
David Broman's CLR Profiling API Blog
Sample: A Signature Blob Parser for your Profiler
Posted
over 8 years ago
by
David Broman
9
Comments
8/25/10 Update: The sample code linked below is now also available on the MSDN Code Gallery SigParse page. If your profiler plays with metadata, you've undoubtedly come across signature blobs. They’re used to encode type information for method...
David Broman's CLR Profiling API Blog
CLR V4: Profiler Attach Basics With Sample Code
Posted
over 4 years ago
by
David Broman
2
Comments
A new feature in CLR V4 is the ability to attach a profiler to a process after that process has already started. The usefulness of this is fairly obvious to anyone who's ever attached a debugger to a running-process: It's helpful when diagnosing hard...
David Broman's CLR Profiling API Blog
Profilers, in-process side-by-side CLR instances, and a free test harness
Posted
over 3 years ago
by
David Broman
5
Comments
My previous post on New stuff in Profiling API for upcoming CLR 4.0 mentioned that any profiler that implements ICorProfilerCallback3 must be “side-by-side aware”. This post goes into more detail on how to do this, and how to test it. What are in...
David Broman's CLR Profiling API Blog
Writing a Profiler for Silverlight 4
Posted
over 3 years ago
by
David Broman
7
Comments
The Silverlight 4 beta has been released a while ago (see this ), and one of the new features in Silverlight 4 is the ability to use the very same profiling API that is available for regular CLR-based apps (referred to as “desktop” CLR apps). In...
David Broman's CLR Profiling API Blog
New stuff in Profiling API for upcoming CLR 4.0
Posted
over 5 years ago
by
David Broman
3
Comments
Now that we've finally announced at PDC many of the new features coming up in the next major release of Visual Studio and CLR, I can elaborate some on what's coming up for the profiling API. Also, see Rick Byers's blog entry which also talks about...
David Broman's CLR Profiling API Blog
Run your V2 profiler binary on CLR V4
Posted
over 4 years ago
by
David Broman
3
Comments
Ok, you've installed VS 2010 beta 1, along with .NET FX 4.0 beta 1, and you're wondering--can you run your profiler against this new .NET framework without recompiling the profiler? Yes, you can! Though not by default. Although CLR V4 is much...
David Broman's CLR Profiling API Blog
Debugging Your Profiler I: Activation
Posted
over 6 years ago
by
David Broman
7
Comments
This is the first of some tips to help you debug your profiler. Note that these tips assume you're using CLR 2.x (see this entry for info on how CLR version numbers map to .NET Framework version numbers). In today's post, I address a frequent...
David Broman's CLR Profiling API Blog
DoStackSnapshot Tidbit #1: Exception Filters
Posted
over 8 years ago
by
David Broman
12
Comments
Believe it or not, my last (rather large) post on stack walking actually left out several miscellaneous details about using DoStackSnapshot. I'll be posting those details separately. We'll start off with some light reading on exception filters. No deadlocks...
David Broman's CLR Profiling API Blog
DoStackSnapshot Tidbit #2: Looney HRESULTs
Posted
over 8 years ago
by
David Broman
6
Comments
Generally, corerror.h tells you all you need to know about what kinds of HRESULTs to expect back from DoStackSnapshot. However, there are some fringe cases where you can get back an HRESULT that's not as descriptive as you might like. E_FAIL I don...
David Broman's CLR Profiling API Blog
DoStackSnapshot Tidbit #3: Callback CONTEXT Registers
Posted
over 8 years ago
by
David Broman
2
Comments
In my initial post about DoStackSnapshot , I touched on how and when your profiler can "fill in the holes" by walking the unmanaged parts of the stack itself. Doing this requires that your profiler have access to a register context at the top of the unmanaged...
David Broman's CLR Profiling API Blog
Who's the guy with the nifty haircut?
Posted
over 8 years ago
by
David Broman
4
Comments
Howdy! I'm David Broman, and I've been a developer on the Common Language Runtime for about a year, focusing on the Profiling API with Jonathan Keljo , Rico Mariani , and many others. Before the CLR, I worked in various MSN groups, including the MSN...
David Broman's CLR Profiling API Blog
Type Forwarding
Posted
over 4 years ago
by
David Broman
0
Comments
MSDN defines “type forwarding” as moving “a type to another assembly without having to recompile applications that use the original assembly”. In this post, I’ll talk about examining a particular type in Microsoft’s .NET Framework library that gets...
David Broman's CLR Profiling API Blog
Debugging Your Profiler II: SOS and IDs
Posted
over 6 years ago
by
David Broman
2
Comments
In this debugging post, I'll talk about the various IDs the profiling API exposes to your profiler, and how you can use SOS to give you more information about the IDs. As usual, this post assumes you're using CLR 2.x. S.O.What Now? SOS.DLL is a...
David Broman's CLR Profiling API Blog
CLR V4: Profiler Detach
Posted
over 3 years ago
by
David Broman
0
Comments
I described how profilers may attach to already-running processes in some previous posts ( #1 and #2 ). In this post I’m writing about how profilers that are already loaded may detach from a running process before that process exits. Like...
Page 1 of 2 (47 items)
1
2