1. A method implemented with a processor for debugging software, comprising: identifying software code that needs to be debugged; performing a configuration so that any portion of the software code is capable of executing with a compiled version or an interpreted version; and running the software by executing a first portion of the software using the compiled version and executing a second portion of the software using the interpreted version, wherein debugging occurs during execution of the second portion using the interpreted version and not during execution of the first portion using the compiled version; wherein an address is changed between the compiled version and the interpreted version to perform a switch in execution between these versions, by using assembly language to change the address in an executable or library.