BUG: Debugger Cannot Step Out of Recursive Function

ID: Q200597


The information in this article applies to:
  • Microsoft Visual C++, 32-bit Editions, version 5.0
    on the following platforms: Alpha


SYMPTOMS

An attempt to step out of a recursive function that has called itself may result in no action by the Visual C++ debugger.


CAUSE

This problem is caused by the debugger's inability to differentiate between the current address context and the return address context if the addresses are the same. As a result, the debugger interprets the current address as the step-out breakpoint and breaks immediately without executing any instructions.


RESOLUTION

To work around this problem, for each step-out, just perform a step-over to make the current address different than the return address, then perform a step-out.


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

Additional query words:

Keywords : kbDebug kbide kbVC500bug VCAlpha
Version : winnt:5.0
Platform : winnt
Issue type : kbbug


Last Reviewed: May 28, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.