Correctly Creating Native C++ Release Build PDBs

In my ongoing discussion of PDB files and debugging, Sa Li had a great question: Should the final release native program also generate the pdb files before being published? If switching on the pdb in link setting, what kind of info would be added into the .exe executable file? I found our program grows a…

Do PDB Files Affect Performance?

After a detour into Historical Debugging, it’s time to come back to return to answering questions about PDB files. Here’s a question from Justin: Thanks for the great post once again. I was looking forward to your debugging virtual training, but unfortunately it was cancelled. The company I work for is pushing pack against building…

Keeping Specific PDB Files from Loading in the Debugger

As I’ve discussed, PDB files are wondrous bundles of binary joy. However, loading missing PDB files can quickly become an angst-ridden teenager as you wait what seems like forever on a network timeout for missing symbols. This is especially apparent in Tom’s question: For nearly two years I’ve been searching the Internet for an answer…

PDB Files: What Every Developer Must Know

Thanks for visiting one of the most popular pieces I’ve ever written! Based on questions I’ve written a few follow up articles you might find useful to extend your PDB knowledge after reading this one. Keeping Specific PDB Files from Loading in the Debugger Do PDB Files Affect Performance? Correctly Creating Native C++ Release Build…

UX: Disruptive user experiences are industry game changers

I am sure that most of you, if not all, have heard about the notion of a disruptive technology or product. The basic idea of a technology or product being disruptive is that someone comes up with an innovation that transforms a market by making something that everyone accepts to be difficult, expensive, complicated and…

ProcMonDebugOutput Now on GitHub

A few years ago Mark Russinovich and I put together a feature in SysInternal’s Process Monitor where you can add tracing statements to the log. (Here’s the original post.) The idea was that by seeing your tracing in line with the wonderful Process Monitor I/O reporting, it would be easier to track down problems in…

ProcDump Post Mortem Switches: Order Matters

This week I’m working behind the “Great Firewall” in China and Twitter is blocked by the Chinese government, but my blog is not. I would have tweeted this but instead dear reader, you get the complete back story along with the debugging challenge on how I figured out the problem. While working with a customer…

UX: Users are on a mission. Help them, but stay out of the way.

  The annoying salesman problem Have you ever experienced an annoying salesman while browsing through a store. When that happens to me, all I can think of is what to say to make that person go away. It does not matter what he says to me after that point. We should know better and yet…

UX is for humans and not for cyborgs

Have you heard the term “UX” before? I assume that you have. It’s a word that is sprouting up and being sprinkled in lots of places and conversations that have anything to do with product design, be it a web site, a mobile phone app or even some new electronic gadget. UX is not a…

Breaking Radio Silence

My coworkers at Wintellect have reminded me that it’s been a really long time since I’ve posted an entry to my weblog. About two and a half years actually. That’s a long time, and if you happened to be one of my readers you might have wondered what happened to me? Did Keith take another…