Making the Visual C++ 6.0 debugger not 'step in'

When debugging your code, it is likely that at some point you have accidently stepped in 'too far'. Whether it was into the constructor for CString or even just a piece of code that you've already debugged and *know* works, it's a pain to have to keep switching back and forth between doing 'step in' and 'step over'.

Thankfully, the debugger gurus at Microsoft seem to have seen this problem, too. As a quick warning, this feature is not documented and was just 'mentioned' by Andy Pennell in his presentation entitled 'Power Debugging with Visual C++ 6.0', given at the Boston '99 Visual C++ Developer's Conference. It also only works in Visual C++ 6.0.

Open up your autoexp.dat file -- in Common\MSDev98\Bin -- and add a new section named ExecutionControl to the end of the file and then add lines of the form: function=NoStepInto


[ExecutionControl]
CString::CString==NoStepInto
CString:::operator==NoStepInto

These three lines will cause the debugger not to step into the CString contructor or assignment operator. As is standard for any modifications to this file, you have to shut down and reload Visual C++ for this to take effect.

Date Last Updated: April 24, 1999


Comments

  • Attention: only one =, not two == before 'NoStepInto'

    Posted by icebear on 01/30/2009 02:37pm

    As shown in the other comments be aware not to use two == as described in the basic article.

    Reply
  • Can't manage to set NoStepInto for std::vector template class

    Posted by Legacy on 11/10/2000 12:00am

    Originally posted by: Maarten van Casteren

    I've tried to use the NoStepInto feature to prevent the debugger from stepping into the STL vector::operator[] function, which it does all the time if you use STL a lot.

    I tried (one at the time, of course):

    [ExecutionControl]
    std::*=NoStepInto
    std::vector::operator[]=NoStepInto
    std::vector<*>::operator[]=NoStepInto
    _STLD::vector<*>::operator[]=NoStepInto
    _STLD::vector<Layer*,_STLD::allocator<Layer*> >::operator[]=NoStepInto

    The first line being recommended by one of the other comments and the last line being what the call stack window displays. None of them works.

    Would somebody know how to do this?

    Thanks,

    Maarten.

    Reply
  • More capabilities

    Posted by Legacy on 08/29/2000 12:00am

    Originally posted by: Dejan Seatovic

    You can also use namespaces:

    ATL::*=NoStepInto
    std::*=NoStepInto

    coomplete class

    CString::*=NoStepInto

    Reply
  • Great! This was exactly what I've missed since years...

    Posted by Legacy on 08/20/1999 12:00am

    Originally posted by: Christoph Weber

    ... and of course was as usually nowhere documented by Microsoft...

    Reply
  • Templates?

    Posted by Legacy on 05/03/1999 12:00am

    Originally posted by: Nenad Caklovic

    Does anybody know the format for template classes and template functions?

    Reply
  • More samples

    Posted by Legacy on 04/27/1999 12:00am

    Originally posted by: Simon Capewell

    operator new=NoStepInto

    ; MFC
    CObject::operator new=NoStepInto
    CString::*=NoStepInto
    CSize::*=NoStepInto
    CPoint::*=NoStepInto
    CRect::*=NoStepInto

    Reply
  • CString:::operator==NoStepInto too many colons?

    Posted by Legacy on 04/26/1999 12:00am

    Originally posted by: Roger Onslow

    I am assuming that

    CString:::operator==NoStepInto

    should really be

    CString::operator==NoStepInto

    Is this correct?

    Roger

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: May 18, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT While the idea of using facial and/or gesture recognition to create a modern, intuitive game seems attractive, some developers may want to leverage Unity 3D as a way to accelerate their development efforts. There are many different ways in which Intel and Unity Technologies have been working together to help speed the development of games with the Intel® RealSense™ SDK (software developer kit). Check out this upcoming eSeminar to join a …

  • Are you truly leading your team or simply managing them? Organizations need leaders and your team needs someone to follow. With some ongoing development, you could become that leader. Learn the top leadership qualities that inspire others to want to follow you and the direction of your company.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date