Disabling Auto Expansions in the VS 2003 C++ debugger


This is an undocumented feature. It is not supported by Microsoft. It may change or cease to exist in future versions. Do not rely on this information. It is provided for your convenience only. If it doesnt work, please do not complain or call Microsoft support. It if does work, hoorah.

In Visual Studio 2003 the C++ debugger expands structs and classes and displays the first three members automatically. This makes tooltips etc much more useful, but for some classes and remote debugging this can really hurt debugger performance.

You can disable this auto-expansion by adding an item like

$Generate=false

in the [Autoexpand] section of autoexp.dat.

This works for VS 2003 only (and the related Xbox debugger).

MSFT disclaimer: This posting is provided "AS IS" with no warranties, and confers no rights.

Comments (5)
  1. Ziv Caspi says:

    Autoexpansion is the #1 reason to use the VS debugger over WinDBG. It’s a real pity this feature (in particular, extending the debugger by writing your own autoexpasion DLLs) is so badly documented.

  2. Ziv Caspi says:

    There should have been an "IMHO" in my comment, of course.

  3. Andy Pennell says:

    Well I’m not sure I agree that this is the #1 reason, but in case anyone is wondering what Ziv is talking about, lookup the "EEAddIn" in VS7.0/7.1. A reduced version of this API is also available in VC6.0, though was not documented.

  4. Woo Seok Seo says:

    Exactly, You know, John Robbins explained about EEAddIn in his book, Debugging Applications For .NET and Windows. I think that book is a great resource for .NET and Windows developer. 🙂

  5. Woo Seok Seo says:

    Thank you for your information!

    (I am checking your blog everyday)

Comments are closed.

Skip to main content