BUG: Debugger Cannot Step Out of Recursive Function
Article ID: 200597
Article Last Modified on 11/18/2003
APPLIES TO
- Microsoft Visual C++ 5.0 Enterprise Edition, when used with:
- Microsoft Visual C++ 5.0 Professional Edition, when used with:
This article was previously published under Q200597
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 that this is a problem in the Microsoft products that are listed at the beginning of this article.
Keywords: kbbug kbide kbdebug kbpending KB200597