BUG: Step Out in Debugger Ignores Try/Catch Scope (141040)



The information in this article applies to:

  • The Integrated Debugger, when used with:
    • Microsoft Visual C++, 32-bit Professional Edition 4.0
    • Microsoft Visual C++, 32-bit Professional Edition 4.1
    • Microsoft Visual C++, 32-bit Professional Edition 4.2
    • Microsoft Visual C++, 32-bit Enterprise Edition 4.2
    • Microsoft Visual C++, 32-bit Learning Edition 4.0
    • Microsoft Visual C++, 32-bit Learning Edition 4.2

This article was previously published under Q141040

SYMPTOMS

The debug Step Out command does not step you to the expected function when used within try/catch blocks.

RESOLUTION

As an alternative to Step Out, use one of the other debug step options such as Run to Cursor or Step Over.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 5.0.

MORE INFORMATION

When you debug an application that uses either the C++ try or catch keywords or the MFC TRY or CATCH macros, attempting to step out of the try or catch block results in popping two frames off the stack. While executing code within the try block or the catch block, Step Out should step you out of the block and into the function that contains the try/catch blocks. Step Out instead takes you to the function that called the function containing the try/catch blocks.

Modification Type:MajorLast Reviewed:12/9/2003
Keywords:kbBug kbDebug kbide KB141040