Hot Reload has full debugger support. You can set a breakpoint in functions that have been added or edited during the Hot Reload process, and the debugger will work 'as expected': new variables are visible, and stepping in/out/through code works with the updated code.
No configuration is required to make this work - Hot Reload works with the debugger by default. Unlike other solutions, Hot Reload works seamlessly with your existing files - you don't need to work on a copy of your original file (or resort to other workarounds) when using the debugger.
Please note that if you modify a function while halted at the breakpoint inside of that function, the modified code will only be visible after the current function invocation finishes.