Semantic tests are done by comparing the old and new files. The new object file is linked to your running process using the runtime linker. If the function on top of the stack is being fixed, the new stopped in function is the beginning of the same line in the new function. All the breakpoints in the old file are moved to the new file. You can use fix and continue on files that have been compiled with or without debugging information, but there are some limitations in the functionality of the fix command and the cont command for files originally compiled without debugging information.
Problems can occur when functions are mapped from the old file to the new file.
Do not add, delete, or change the type of arguments to a function. Do not add, delete, or change the type of local variables in functions currently active on the stack. Do not make changes to the declaration of a template or to template instances. If you make any of the above changes, rebuild your entire program rather than using fix and continue. Fixing Your Program You can use the fix command to relink source files after you make changes, without recompiling the entire program.