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…

Windows via C/C++ by Jeffrey Richter and Christopher Nasarre

Get the preeminent guide to programming application for Windows with C or C++. Programming Applications for Microsoft Windows is a classic book (formerly titled Advanced Windows, Third Edition) and is now fully updated for Windows Vista and Windows Server 2008. Buy Source Code

TFS 2010 Build Numbers & File Versions from Inside Your C# and C++ Projects

A while ago, I showed using MSBuild 4.0 to create build version files with the TFS build number so that build number could be included in your binaries. While you can use Jim Lamb’s excellent custom workflow activity, I liked doing the version numbers with MSBuild because you could have the same build for both…

Writing Data Structure Visualizers for Native C++/STL Code

Pretty much any time I write about a cool .NET only feature here on the blog I get emails or comments about how the native C++ developers are left out in the cold. There are still a lot of applications out there using native C++ and it feels like those developers don’t get the love…

Link 32-Bit Native C++ EXEs with /LARGEADDRESSAWARE

If you’re not running a 64-bit version of Windows, I bet that at least one of your customers is. While you should be working on porting your native applications to 64-bit, it doesn’t look like that many teams have made that step. While it will take effort and testing to make the switch, you can…

Windows via C/C++ Table of Contents

Some (potential) readers have asked me to post the complete table of contents for my new Windows via C/C++ book. Here it is: Part I Required Reading 1 Error Handling 2 Working with Characters and Strings 3 Kernel Objects Part II Getting Work Done 4 Processes 5 Jobs 6 Thread Basics 7 Thread Scheduling, Priorities, and Affinities 8 Thread Synchronization in User Mode 9…

WinUnit: An Outstanding Native C++ Unit Testing Tool

Whew! I can finally talk about one of the coolest pieces of code I’ve seen in ages: WinUnit. About a year ago, my friend, Maria Blees showed me an idea she had for unit testing native C++ code and asked if I thought it was any good. It was far more than good it was…

Why I’m Not Writing a Native C++ Debugging Book

In the introduction of my book Debugging Microsoft .NET 2.0 Applications, I said I was going to write a second book focused on native C++ debugging. I’ve got a great outline prepared that has all sorts of interesting ideas. Some of the highlights are a complete focus on very advanced native usage of WinDBG. Things…