Category Archives: VC++

Debugging Memory Leaks, Part 2: CRT support

This feature is well documented, but yet from what I see – doesn’t get the usage it deserves. Here’s a quick, beginner-oriented rehash – if only to refer my teammates. Problem and Immediate Solution If you’re developing MFC apps, the … Continue reading

Posted in Debugging, VC++ | 3 Comments

Viewing Debugee Environment Variables

Koby asks – “How suitable is VS automation for doing something like printing the values of all environment variables in the debugee process”? In fact, I just learnt how to do that. type ‘$env=0’, either at a watch window or … Continue reading

Posted in Debugging, VC++, Visual Studio | 2 Comments

Obtaining Decorated Names

There is a neat command line tool called UNDNAME.EXE to un-decorate a name, but what if you need the opposite? I.e., given a function header, how do you get its decorated name? Well, you could reconstruct it manually. The decoration … Continue reading

Posted in VC++ | 1 Comment

Searching Through Memory in Visual Studio

MS maintains two separate debugger product lines – one (supposedly owned by the smaller team) being WinDbg and the other shipped with Visual Studio. There’s an ever-going online flame for superiority between fans of both debuggers (sample 1, sample 2). … Continue reading

Posted in Debugging, VC++ | 5 Comments

Coding Binary as Binary

If you’re comfortable with hex, you have no business in this post.  If on the other hand, when faced with a mask like 0xFFA8 you’re forced – like me – to translate it on paper into 11111111 10101000,  then by … Continue reading

Posted in Codeproject, Debugging, VC++, Visual Studio | Leave a comment

Stepping Over Unwanted Functions

There’s an undocumented VS setting that lets you specify functions that would not be stepped into when you click F11.  This can be save quite a few clicks in situations of the form – Where pressing F11 would repeatedly step … Continue reading

Posted in Debugging, VC++, Visual Studio | Leave a comment

Resolving linker warning LNK4221

While cleaning up code warnings I came across LNK4221: “xxx.obj: no public symbols found; archive member will be inaccessible.”. The message does point out the culprit obj file, but not much more. both the documentation and a knowledge base article … Continue reading

Posted in VC++ | Tagged | 2 Comments

Watching members in release builds

A typical development scenario:  you fight a bug that raises its head only in production build. You step through your code and inspect member variables, only to be greeted by utter garbage. There’s an easy workaround, surprisingly. The calling convention … Continue reading

Posted in Debugging, VC++, Visual Studio | Leave a comment