- commands["help"] = Command(&CommandInterpreter::cmd_help,
- "Provides help on commands",
- "help\n"
- " Displays a list of commands\n\n"
- "help COMMAND\n"
- " Gives detailed information on a command\n");
- commands["exit"] = Command(&CommandInterpreter::cmd_exit,
- "Ends the debugging session");
-
- commands["run"] = Command(&CommandInterpreter::cmd_run,
- "Starts the program");
- commands["continue"] = Command(&CommandInterpreter::cmd_continue,
- "Resumes program execution");
- commands["kill"] = Command(&CommandInterpreter::cmd_kill,
- "Terminates the program immediately");
- commands["signal"] = Command(&CommandInterpreter::cmd_signal,
- "Resumes execution with a signal",
- "signal NUM\n"
- "signal NAME\n"
- " Sends the signal identified by NUM or NAME to the program and resumes\n"
- " execution. Currently recognized signal names are HUP, INT, TERM, SEGV\n"
- " and TERM.\n");
-
- commands["trace"] = Command(&CommandInterpreter::cmd_trace,
- "Traces GL function calls",
- "trace >FILE\n"
- " Send trace output to FILE. As a special case, - means stdout.\n\n"
- "trace {off|on}\n"
- " Temporarily suspend or resume trace without closing the file.\n\n"
- "trace end\n"
- " Terminate trace, closing the file.\n");
+ register_command("help", this, &CommandInterpreter::cmd_help)
+ .set_help("Provides help on commands",
+ "help\n"
+ " Displays a list of commands\n\n"
+ "help COMMAND\n"
+ " Gives detailed information on a command\n");
+ register_command("exit", this, &CommandInterpreter::cmd_exit)
+ .set_help("Ends the debugging session");
+ commands["quit"] = new CommandAlias(commands["exit"]);
+
+ register_command("run", this, &CommandInterpreter::cmd_run)
+ .set_help("Starts the program");
+ register_command("break", this, &CommandInterpreter::cmd_break)
+ .set_help("Sets a breakpoint",
+ "break FUNC\n"
+ " Makes program execution stop at FUNC\n");
+ register_command("unbreak", this, &CommandInterpreter::cmd_unbreak)
+ .set_help("Removes a breakpoint",
+ "unbreak FUNC\n"
+ " Makes program execution no longer stop at FUNC\n");
+ register_command("next", this, &CommandInterpreter::cmd_next)
+ .set_help("Resumes program execution until the next function call");
+ commands["step"] = new CommandAlias(commands["next"]);
+ register_command("finish", this, &CommandInterpreter::cmd_finish)
+ .set_help("Resumes program execution until the next function return");
+ register_command("continue", this, &CommandInterpreter::cmd_continue)
+ .set_help("Resumes program execution");
+ register_command("kill", this, &CommandInterpreter::cmd_kill)
+ .set_help("Terminates the program immediately");
+ register_command("signal", this, &CommandInterpreter::cmd_signal)
+ .set_help("Resumes execution with a signal",
+ "signal NUM\n"
+ "signal NAME\n"
+ " Sends the signal identified by NUM or NAME to the program and resumes\n"
+ " execution. Currently recognized signal names are HUP, INT, TERM, SEGV\n"
+ " and TERM.\n");
+