BUG: Debugger Cannot Step Out of Recursive Function (200597)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0, when used with:
- Microsoft Visual C++, 32-bit Professional Edition 5.0, 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.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 11/18/2003 |
---|
Keywords: | kbBug kbDebug kbide kbpending KB200597 |
---|
|