Category Archives: VC++

VS2012 Migration #3: autoexp and NoStepInto Replacements

In the past I blogged quite a few times about two immensely useful albeit mostly-unofficial debugger features: watch modification via autoexp.dat, and step-into modification via NoStepInto registry key. A long while ago I raised two suggestions at MS UserVoice, to … Continue reading

Posted in Debugging, VC++ | 3 Comments

VS2012 Migration #1: “The Project ‘’ has been renamed’ and Other Errors on Build

About half a year ago I started experimenting with VS2012. It was not a smooth migration by any means, and I finally got around to recording online some of the lessons I learnt along the way. One of the first … Continue reading

Posted in VC++ | Leave a comment

Forcing Construction of Global Objects in Static Libraries

Suppose you have a global object whose constructor does useful stuff – say, registration somewhere or initialization of global resources. Suppose further this object isn’t directly accessed anywhere – you just need the functionality in its ctor. All is fine, … Continue reading

Posted in VC++ | 3 Comments

Quick Word to Fellow Hebrew Speaking Devs

It’s official – here’s some reference. (R2L in the editor is admittedly a bitch, though.)

Posted in VC++ | Leave a comment

A Day with VS11 Beta – part 2.5: Auto Vectorizer, done right

Start at the end: the main example analyzed in the previous post is plain wrong. This loop: Vectorizes perfectly. Even after me wrongfully accusing his team with this fictitious vectorization miss, Jim Hogg was kind enough to (1) test it … Continue reading

Posted in VC++ | 2 Comments

A Day with VS11 Beta – part 2: Auto Vectorizer

UPDATE: While I still believe the overall conclusions below hold, the actual analysis of the main example is erroneous and kept here only out of respect for some external links.  A detailed correction is in the following post.  Thanks @JimHogg! … Continue reading

Posted in VC++ | 4 Comments

Viewing types, part 3: Exceptions

Last time a way was shown to use internal RTTI mechanics to view C++ type names without direct debugger aid. There is one place in particular where such type names carry substantial information, and that is c++ exceptions. These can … Continue reading

Posted in Debugging, VC++ | Leave a comment

Viewing types, part 2: the manual way

Compiling with /d1reportAllClassLayout, even an empty file, dumps many compiler-intrinsic types. Six of these are interesting in the present context:  _PMD, _TypeDescriptor, _s__RTTIBaseClassDescriptor2, _s__RTTIBaseClassArray, _s__RTTIClassHierarchyDescriptor, and _s__RTTICompleteObjectLocator. Most of this machinery exists solely for multiple inheritance, and virtual inheritance in … Continue reading

Posted in Debugging, VC++ | 3 Comments

Viewing types, part 1: The Normal way

Suppose C derives from B, which derives from A: Now create A-pointers which point to children types, B and C, and watch them in VS: The types in square brackets are the most derived types of the referenced objects. How … Continue reading

Posted in Debugging, VC++ | Leave a comment

Blank Variable Watch, or OMF Errors

During a debugging session I faced a weird situation where the code compiled and ran just fine, yet some class members appeared blank at the watch window, and others showed – CXX0033: error in OMF type information Skip to the … Continue reading

Posted in Debugging, VC++ | Leave a comment