This help topic gives an overview of automatic Ruby code reloading.
Introduction
If there is a debug session every file you edit and save will be reloaded from the interpreter. This allows to debug and change a ruby application without restarting. While this is a convenient feature, there are some drawbacks to consider:
- The code reload does not affect the current stack trace. The current stack frame will not be reentered and will be finished with the old code. So, if you change the code of a method this method will be finished with old code and the next call to this method will use the new code. That means that Drop to Frame functionality is not available.
- The interpreter reloads the file with the updated content and therefore also executes the code at the main level. That might turn the application in an undesirable state.
- You cannot delete methods by reloading.