Compartilhar via


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

  • Anonymous
    January 25, 2004
    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.
  • Anonymous
    January 26, 2004
    There should have been an "IMHO" in my comment, of course.
  • Anonymous
    January 29, 2004
    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.
  • Anonymous
    January 30, 2004
    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. :-)
  • Anonymous
    January 30, 2004
    Thank you for your information!

    (I am checking your blog everyday)