When there is an exception happen in nemu as dut, spike should also execute the same instruction that caused the exception.
In particular, the ebreak and ecall instructions are different from other instructions that can cause exceptions, because when they are executed in nemu, spike has already been instructed to execute the corresponding ebreak and ecall instructions, so there is no need to guide spike to execute another instruction in either case.
When there is an exception happen in nemu as dut, spike should also execute the same instruction that caused the exception. In particular, the ebreak and ecall instructions are different from other instructions that can cause exceptions, because when they are executed in nemu, spike has already been instructed to execute the corresponding ebreak and ecall instructions, so there is no need to guide spike to execute another instruction in either case.