Search this blog:
RSS
-
Top Posts & Pages
Categories
Archives
- March 2020 (1)
- November 2017 (2)
- October 2017 (1)
- July 2017 (1)
- November 2016 (1)
- August 2016 (1)
- July 2016 (1)
- March 2016 (2)
- August 2015 (1)
- April 2015 (2)
- March 2015 (1)
- October 2014 (1)
- September 2014 (1)
- August 2014 (1)
- July 2014 (2)
- June 2014 (7)
- February 2014 (3)
- October 2013 (2)
- September 2013 (1)
- August 2013 (2)
- June 2013 (4)
- April 2013 (1)
- March 2013 (2)
- January 2013 (2)
- December 2012 (1)
- September 2012 (2)
- August 2012 (1)
- May 2012 (2)
- April 2012 (6)
- March 2012 (3)
- February 2012 (2)
- December 2011 (2)
- November 2011 (3)
- October 2011 (2)
- September 2011 (1)
- August 2011 (3)
- June 2011 (1)
- May 2011 (3)
- April 2011 (1)
- February 2011 (1)
- January 2011 (2)
- December 2010 (2)
- November 2010 (4)
- September 2010 (1)
- August 2010 (1)
- June 2010 (3)
- May 2010 (2)
- January 2010 (1)
- December 2009 (1)
- November 2009 (3)
- October 2009 (3)
- August 2009 (1)
- June 2009 (2)
- May 2009 (3)
- April 2009 (6)
- March 2009 (5)
- February 2009 (5)
Category Archives: Debugging
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
Entry Point Not Found, and other DLL Loading Problems
Occasionally I come across DLL load problems: The verbosity of the error messages varies greatly. In their raw form these include at least the DLL name, but as various frameworks come into play (for the error message above, it’s .net) … Continue reading
Posted in Debugging, Win32
19 Comments
_DllMain@12 already defined
We recently faced this linkage error: error LNK2005: _DllMain@12 already defined in MSVCRT.lib(dllmain.obj) Searching gives ~36K results as of July 2012, many of which seem high quality (StackOverflow, MS, CodeProject etc.), and I was certain it would be a simple … Continue reading
Posted in Debugging, MFC
6 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
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
StepOver Revisited
Andy Pennell exposed in 2004 (and I mentioned in 2009) a very useful undocumented VC feature: when you wish to avoid stepping into nagging functions (ctors, refcounts, whatever), you can specify them in the StepOver registry key. It supports RegExp’s … Continue reading
Posted in Debugging, VC++
Leave a comment
Breaking on Data Read
Edit: As of windows 10 the details and code below do not work. A working alternative is detailed at a newer post. You’re probably familiar with Data Breakpoints, and rightfully so: It’s extremely useful to know where a value changes. … Continue reading
Posted in Debugging, VC++, Win32
6 Comments
g_dwLastErrorToBreakOn: Watching Errors on VS Revisited
Raymond Chen posted about SetLastError recently, and an interesting discussion ensued. One comment in particular caught my eye: The easiest way to catch a specific last error value in debugger is to set ntdll!g_dwLastErrorToBreakOn to that value. A good while … Continue reading
Posted in Debugging, Win32
3 Comments
