An Exercise in Virtual to Physical Memory Translation

September 23, 2013

In this post, we will explore virtual address translation through a real-world example. If you’d like, the instructions here should be sufficiently detailed for you to perform this experiment on your own, with a kernel debugger (a local kernel debugger session or even LiveKD is sufficient). Let’s start with the basics. For a great walkthrough of how memory translation works on x86-64 and x86, you should read Luke Hutchinson’s blog post. Alternatively, Windows Internals (6th edition) contains an even more detailed description of address translation in the Memory Manager chapter (volume 2). Now let’s go ahead and...
no comments

News from Build 2013: Presentation from the VP R&D Forum

September 12, 2013

Sela and Microsoft have established a wonderful tradition: several times a year, VP-level R&D managers from various Israeli companies meet at the Crowne Plaza hotel (with beautiful views to the Tel-Aviv beach) to share news and hear updates about Microsoft technology. The latest meeting was yesterday, and I had the opportunity to present a 45-minute talk covering the latest announcements from Build 2013 and some of the more recent news concerning Visual Studio 2013, Windows 8.1, and Windows Azure. Thank you for coming, and I'm looking forward to seeing you at future forum events. My slides are below, and should...
tags: ,
no comments

Announcing Tracer: A Generic Way to Track Resource Usage and Leaks

September 10, 2013

Tracer is a WinDbg extension I wrote last month to diagnose a resource leak that is not covered by well-known facilities like !htrace or UMDH. Tracking any resource leak starts with understanding where you are acquiring the resource and neglecting to release it – and with Tracer, you can do this for any kind of resource. Download Tracer and review its source code. The basic process of hunting for resource leaks is quite simple. For example, consider what UMDH does on your behalf. UMDH enables support in the operating system (specifically, in the Heap Manager...
one comment