Geeks With Blogs

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.

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.

Inside and Out... An attempt to understand technology better... Windows API
[Article] Authoring a Stack Walker for X86
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 ......

Posted On Monday, January 7, 2008 4:48 AM

[Download] MemAnalysis - Native memory leak analysis tool
Advanced Windows Debugging got me hooked onto Detours and that led me to experiment with it a bit more. It resulted in this. Over the past three days, I have been working on using Detours to build a memory leak detection tool. MemAnalysis is finally done (v1, that is) and can track memory allocation and release when done using the following APIs: VirtualAlloc VirtualFree HeapAlloc HeapFree HeapDestroy Once the application being analyzed exits, MemAnalysis produces a report with details on how many ......

Posted On Wednesday, December 26, 2007 2:58 PM

Using Detours for API interception
Detours is a very interesting library from Microsoft Research that allows you to intercept Windows API calls that an application makes and redirect them to your code that can then: do some pre-and-post processing work around the call to the original API, and/or customize what is returned to the caller of the API This does not involve accessing original application source code and can be done at runtime! For an example, check the screenshot below for a sample that intercepts calls to GetVersionEx ......

Posted On Sunday, December 23, 2007 11:18 AM

Lessons in Exception Handling
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 ......

Posted On Sunday, May 13, 2007 4:50 PM

[Download] TransNTFS v1.0.0.1 - support for folders, symbolic and hard links and more
I have updated TransNTFS, my managed implementation for the transactional NTFS APIs that have been introduced with Windows Vista. TransNTFS now also supports the following operations under a transaction: Creation and deletion of folders Deletion of files Creation of symbolic links Creation of hard links It comes with complete documentation (as always) and can be downloaded from ......

Posted On Sunday, March 18, 2007 10:09 AM

[Download] TransNTFS - Managed implementation of Transactional NTFS (TxF) APIs
Sometime back, I had made a post regarding a native C++ class I had authored for using some of the Transactional NTFS (TxF)APIs introduced in Windows Vista. Almost two weeks from that post, I just finished my managed implementation, TransNTFS, that enables you to use the TxF APIs from managed code. As always, Managed C++ enabled the implementation with excellent ease. It comes with complete documentation and can be downloaded from Below is an ......

Posted On Thursday, March 15, 2007 2:30 PM

Copyright © Gaurav Khanna | Powered by: