1. A method for controlling a program execution device which includes a plurality of debuggers and a program execution unit, the program execution unit executing, in parallel, a plurality of programs to be debugged by the debuggers, said method comprising: receiving a start request to start program execution or a stop request to stop program execution from each of the debuggers, and holding flags, a value of each of the flags indicating the start request or the stop request for one of the debuggers; causing the program execution unit to start or stop executing the programs, based on a combination of requests indicated by the flags, each of the requests being the start request or the stop request, wherein, in said causing, when the program execution unit is caused to stop executing the programs, the stopping of the execution of the programs is notified to a debugger included in the debuggers and corresponding to a flag indicating the stop request, upon receipt of the start request or the stop request from one or more of the debuggers, values of the flags for the debuggers are referred to and it is determined whether or not it is necessary to start or stop the program execution based on the values of the flag, and if one value of the flags indicates a stop request, the program execution unit stops executing all of the programs, and wherein only if all values of the flags indicate start requests, the program execution unit starts executing all of the programs.