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 (NVM) 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 to be memory-mapped by mapping hardware of the embedded device to cover the at least one area of NVM; replacing within the at least one area of overlay memory the at least one instruction at which a breakpoint is to be set with a breakpoint operation code to be executed by at least one processor core of the embedded device; and enabling the mapping hardware of the embedded device to map 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 by the at least one processor core.