Inside and Out...

An attempt to understand technology better...

  Home  |   Contact  |   Syndication    |   Login
  160 Posts | 0 Stories | 12 Comments | 181 Trackbacks

News


WinToolZone - Spelunking Microsoft Technologies
I work as a developer on the Common Language Runtime (CLR) team, specifically in the areas of exception handling and CLR hosting.
Disclaimer

The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion. All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

Twitter





Tag Cloud


Archives

Post Categories

Image Galleries

Links

Articles

Stack walking is second nature to debuggers. But if you had more interest in it than just debugging and either: wanted to know what stack walking is about, or wanted to know how stack walking is implemented, or wanted to know how a custom stack walker can be authored for your application then you might find the article, Authoring a Stack Walker for X86, useful. Its my attempt to help clarify the basics of stack walking and explain key concepts and show how it can be implemented on x86 platform. The...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

One always strives to write exception safe application but there are times when an exception can go unhandled. In the .NET Framework, the AppDomain class exposes the UnhandledException event that can be used by by the managed application to know when an exception has gone unhandled. In the writeup, AppDomains and Unhandled Exception Notifications, I discuss the specifics of when and how this notification is made, what is the relationship between the thread that had unhandled exception and the AppDomain(s)...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Working on the CLR's exception handling subsystem is not just challenging but also gives unique opportunities to understand how the various exception handling subsystems (e.g. SEH, C++ EH, etc) work, and in particular, how they interoperate with one another. It was such case that had me discuss one such issue with Kevin, development lead of the JIT, that he mentions here. That discussion got me exploring the interoperability aspects of EH further and resulted in the bullets listed below. Incase you...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Did you have a scenario where you wished you could customize the creation of AppDomains? Or, you could control how many AppDomains any code that runs in your application context (e.g. if you are writing a plugin load framework) could create? Or, how about reusing AppDomains for various assemblies? I have just finished an article on how any of the above scenarios can be accomplished using the System.AppDomainManager type, introduced in .NET Framework 2.0, by intercept AppDomain creation requests....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

One of the best ways to understand how the CLR works internally is to have a look at the SSCLI [a.k.a Rotor] source code. In How the SSCLI [a.k.a. Rotor] managed "new" works, I have used Rotor source code to discuss what happens behind the scenes when you use the managed new operator to instantiate a managed type, discussing implications of object size, how requests from multiple threads are handled, the different validations that are done, when out-of-memory exception is thrown, etc. If you are...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Did you have a scenario where you wished you could customize the creation of AppDomains? Or, you could control how many AppDomains any code that runs in your application context (e.g. if you are writing a plugin load framework) could create? Or, how about reusing AppDomains for various assemblies? I have just finished an article on how any of the above scenarios can be accomplished using the System.AppDomainManager type, introduced in .NET Framework 2.0, by intercept AppDomain creation requests....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

One of the best ways to understand how the CLR works internally is to have a look at the SSCLI [a.k.a Rotor] source code. In How the SSCLI [a.k.a. Rotor] managed "new" works, I have used Rotor source code to discuss what happens behind the scenes when you use the managed new operator to instantiate a managed type, discussing implications of object size, how requests from multiple threads are handled, the different validations that are done, when out-of-memory exception is thrown, etc. If you are...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

A nice article explaining it can be read at http://www.west-wind.com/pr
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

[Original Post Date: 4th January 2005] I stumbled on this post by Matt, which is an excellent article that describes how to author a single service that can be consumed by client of .NET Remoting, WCF and ASMX. Must Read...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

[Original Post Date: 2nd January 2005] With WCF, state management in services get more capabilities than just Singleton and PerCall approaches. Two new modes have been introduced that take state management to the next level. PerSession and Shareable modes allow for private sessions and shared sessions across specific clients respectively. I have authored the article, Sharing State across Clients in Windows Communication Foundation, which attempts to help understand these modes of state management...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Full Articles Archive