Simon Cooper Inside Red Gate – Introduction I work for Red Gate Software, a software company based in Cambridge, UK. In this series of posts, I’ll be... 31 May 2011 2 min read
Simon Cooper Anatomy of a .NET Assembly – Signature encodings If you’ve just joined this series, I highly recommend you read the previous posts in this series, starting here, or... 27 May 2011 4 min read
Simon Cooper Visual Studio vNext At TechEd this year, there’s only a few sessions and expo booths aimed squarely at devs rather than sysadmins and... 19 May 2011 3 min read
Simon Cooper I’ll be at TechEd Atlanta 2011 Just a brief note here – I’ll be going to TechEd Atlanta next week as part of a huge Red... 10 May 2011 1 min read
Simon Cooper Anatomy of a .NET Assembly – The CLR Loader stub In Windows XP and above, the OS loader knows natively what to do with .NET executable assemblies, and fires up... 28 March 2011 7 min read
Simon Cooper Anatomy of a .NET Assembly – The DOS stub The DOS stub at the top of the file is the first thing you notice when you open a .NET... 28 March 2011 4 min read
Simon Cooper Anatomy of a .NET Assembly – Methods Any close look at the method definitions in a .NET assembly has to start off with the method’s information in... 24 March 2011 6 min read
Simon Cooper Anatomy of a .NET Assembly – CLR metadata 3 To recap from my previous posts, .NET assemblies are built on top of the PE file format, which is used... 21 March 2011 6 min read
Simon Cooper Anatomy of a .NET Assembly – CLR metadata 2 Before we look any further at the CLR metadata, we need a quick diversion to understand how the metadata is... 18 March 2011 5 min read
Simon Cooper Anatomy of a .NET Assembly – CLR metadata 1 Before we look at the bytes comprising the CLR-specific data inside an assembly, we first need to understand the logical... 16 March 2011 6 min read
Simon Cooper Anatomy of a .NET Assembly – PE Headers Today, I’ll be starting a look at what exactly is inside a .NET assembly – how the metadata and IL... 15 March 2011 7 min read
Simon Cooper Subterranean IL: Exception handler semantics In my blog posts on fault and filter exception handlers, I said that the same behaviour could be replicated using... 21 February 2011 3 min read
Simon Cooper Subterranean IL: Filter exception handlers Filter handlers are the second type of exception handler that aren’t accessible from C#. Unlike the other handler types, which... 14 February 2011 3 min read
Simon Cooper Subterranean IL: Fault exception handlers Fault event handlers are one of the two handler types that aren’t available in C#. It behaves exactly like a... 09 February 2011 3 min read
Simon Cooper Subterranean IL: Compiling C# exception handlers An exception handler in C# combines the IL catch and finally exception handling clauses into a single try statement: How... 25 January 2011 4 min read
Simon Cooper Subterranean IL: Exception handling control flow Control flow in and around exception handlers is tightly controlled, due to the various ways the handler blocks can be... 17 January 2011 3 min read
Simon Cooper Subterranean IL: Exception handling Today, I’ll be starting a look at the Structured Exception Handling mechanism within the CLR. Exception handling is quite a... 13 January 2011 3 min read
Simon Cooper Subterranean IL: Pseudo custom attributes Custom attributes were designed to make the .NET framework extensible; if a .NET language needs to store additional metadata on... 30 November 2010 4 min read
Simon Cooper Subterranean IL: Custom modifiers In IL, volatile is an instruction prefix used to set a memory barrier at that instruction. However, in C#, volatile... 26 November 2010 3 min read
Simon Cooper Subterranean IL: Constructor constraints The constructor generic constraint is a slightly wierd one. The ECMA specification simply states that it: constrains [the type] to... 17 November 2010 4 min read