To be fair, this does increase runtime size and decrease performance, but that's a necessary cost that comes with the debugging capability
I'm doing some research that shows this isn't the case. You can have a system where enabling the debugger has zero impact on runtime performance, via dynamic deoptimization.
http://www.lifl.fr/dyla14/papers/dyla14-3-Debugging_at_Full_...