1. A method of reversely debugging a program, comprising: obtaining debugging information of the program as outputted by a compiler, the debugging information comprising information related to extended basic blocks (EBBs) of the program; in response to the program entering into a reverse debugging, setting a reverse debugging checkpoint at an entry address of at least one extended basic block; in response to the program reaching a set reverse debugging checkpoint, storing information required to be stored by debugging that corresponds to the reverse debugging checkpoint; in response to receiving a set reverse debugging target breakpoint, making the program return to a reverse debugging checkpoint that is located before the reverse debugging target breakpoint and nearest to the reverse debugging target breakpoint, obtaining information required to be stored by the debugging stored at the reverse debugging checkpoint, and continuing to execute the program till the reverse debugging target breakpoint.