Wielding Debug Builds against Heap Corruption

Heap corruptions can be nasty to investigate. I recently had to investigate a bug that manifests under special circumstances in production. Crashes had all flavors of stack traces - the trademark of heap corruption. To debug it, I ran the usually recommended tool for heap corruption: PageHeap. Enabling PageHeap PageHeap is an OS flag that … Continue reading Wielding Debug Builds against Heap Corruption

What happens when you press “X”

or Why it is hard to get Graceful Shutdowns right I used to think shutdowns are easy. You're shutting down and the OS is going to take care of all my resources. Unfortunately, that's not completely the case. Shutdowns are easy, but perfectly graceful ones are not as intuitive. Ungraceful shutdowns bring about crashes, or … Continue reading What happens when you press “X”