1. A storage device encoded with a data structure accessed by a debug controller that is to be executed by a processor, wherein the data structure comprises a plurality of entries for a plurality of respective statements in a program, wherein each of the plurality of entries comprises: a statement number field comprising a plurality of values corresponding to orders of the corresponding plurality of statements in a listing of the program; and a condition list field comprising a plurality of conditions that must be met in order for the corresponding plurality of respective statements to be executed, wherein the debug controller when executed by the processor receives a condition criteria and a name of a breakpoint group, finds a plurality of breakpoints that are set at the corresponding plurality of respective statements that meet the condition criteria, and adds the plurality of breakpoints that are set at the corresponding plurality of respective statements that meet the condition criteria to the breakpoint group, wherein the debug controller when executed by the processor further determines whether the condition criteria matches the plurality of conditions in the condition list field.