Popping the Call Stack One Function at a Time | Popping the Call Stack to the Current Frame |
Pop the call stack before running Fix if you:
Pop the call stack after running Fix if you made changes to a function presently on the stack. The format of the stack might have changed so that you can't just resume the function. If you added or eliminated a local variable or parameter, the allocation after the fix might not match the allocation before the fix.
You must also pop the stack if you are using fix while stopped in the middle of a system call. This can happen when you attach to a GUI program.
Pop can also be useful in odd situations, such as when you want to force a function to be re-executed.
Note - If you see the following error message, you must pop the stack:
\"%s\" not fixed: parameters or local variables have changed in a function (%s) active on the stack (frame [%d])%s%s. Use pop or kill and fix again.
Changes made to global variables are not undone when you pop the stack. To manually reassign correct values to global variables, use the Data History pane of the Debugging Window. See Expression Evaluationfor more information.