1. A method for setting one or more breakpoints within executable program code of an embedded device, the method comprising: copying at least one area of non-volatile memory of the embedded device, comprising at least one instruction at which a breakpoint is to be set, into at least one area of overlay memory; replacing within the overlay memory the at least one instruction at which a breakpoint is to be set with a breakpoint operation code; and enabling a mapping of the at least one area of NVM, comprising the at least one instruction at which a breakpoint is to be set, to the at least one area of overlay memory during execution of the program code within the embedded device.