Matt's Blog

OS development for the HoloLens

Setting debugger target architecture: .effmach

Sometimes, you may find dumps with callstacks that point to the wow64 thunks with little else of...

Author: meason10 Date: 05/12/2017

Kd breakpoints don't persist through reboot

Old nugget of information here, but useful to remember when the situation arises... When debugging...

Author: meason10 Date: 02/28/2017

Debugging LoadLibrary Failures

It looks like the topic of Debugging LoadLibrary Failures has been covered pretty well, but it is...

Author: meason10 Date: 11/09/2016

SOS Versioning with Windbg

I'm not a .NET developer, but I have to debug dumps from .NET processes from time to time.  I picked...

Author: meason10 Date: 10/05/2016

Driver debug breakpoint

The DebugBreak() API is the primary way to implement a breakpoint through code.  It's great to use...

Author: meason10 Date: 09/21/2016

Sample debugging session without symbols

I was asked to debug some code where we roughly knew what was going on in the source code, but we...

Author: meason10 Date: 08/26/2016

Intro to kernel debugging 3

Topic: Probing, Altering User Mode Memory This is part 3 of the intro to kernel debugging series....

Author: meason10 Date: 07/07/2016

Intro to kernel debugging 1

Topic: KD Setup I am a user-mode developer, but part of the job of working on the Windows team...

Author: meason10 Date: 06/17/2016

Intro to kernel debugging 2

Topic: Debugger Context This is part 2 of the intro to kernel debugging series.  Other posts: Intro...

Author: meason10 Date: 06/17/2016

Holding a critical section during SendMessage

Can you spot the defect with the following code? EnterCriticalSection(&cs);SendMessage(hwnd,...

Author: meason10 Date: 06/23/2010

Hang Prone Device I/O APIs

Applications should not perform any kind of synchronous I/O on a UI thread (the threads that service...

Author: meason10 Date: 05/10/2010

Device I/O Hangs

Some hangs are based on code that makes the hang easy to spot: A Sleep() call with a long duration,...

Author: meason10 Date: 04/20/2010

Application Verifier for locks usage

Continuing on the theme of proper lock management, there is a tool you can use to validate certain...

Author: meason10 Date: 03/25/2010

Locking Hierarchy

Many hangs occur within the Win32 API EnterCriticalSection. Often, these hangs indicate a violation...

Author: meason10 Date: 03/15/2010

Debugging a Hung Operating System

Have you ever had your entire Windows machine become frozen or hung? I am not referring to a window...

Author: meason10 Date: 02/26/2010

CloseHandle() Hangs

I have observed applications that hang on a call to CloseHandle() and thought to myself, "what is...

Author: meason10 Date: 02/19/2010

Infinite Loops In Error Handling Code

Can you spot the defect in the following code that will lead to an infinite loop? // Infinite loop...

Author: meason10 Date: 02/15/2010

HungAppTimeout

As mentioned in this technet article, there is a registry key to control the timeout for the task...

Author: meason10 Date: 02/04/2010

Faulty Message Loop

The following code is an example of a message loop that will result in a hang. Library or COM...

Author: meason10 Date: 02/03/2010

Wait Chain Traversal in WER (For Hangs)

Windows Error Reporting (WER) for hung applications utilizes the Wait Chain Traversal (WCT)...

Author: meason10 Date: 01/26/2010

Windows is very careful about collecting data from users. Data collection policies undergo many...

Author: meason10 Date: 01/22/2010

Data Collected By Windows Error Reporting (For Hangs, Part 2)

When an application's GUI stops responding, users may get frustrated and decide to close the...

Author: meason10 Date: 01/18/2010

Data Collected By Windows Error Reporting (For Hangs, Part 1)

Hang Reporting is a special mode of Windows Error Reporting (WER) for collecting data to help...

Author: meason10 Date: 01/15/2010

Analyzing Hang Reports

Windows Error Reporting for hangs (a.k.a., "Hang Reporting") begins when a user finally gives up on...

Author: meason10 Date: 01/12/2010

Windows Error Reporting (For Hangs)

When a GUI stops responding, users will notice (among other things) three very clear signals that...

Author: meason10 Date: 01/04/2010

Window Hangs

A window hang in the context of Win32 is an HWND that has not yet processed one or more messages...

Author: meason10 Date: 12/27/2009

Unresponsive Computer

An unresponsive computer is never fun to deal with. There are different terms to describe the...

Author: meason10 Date: 12/21/2009