| parrotcode: Parrot debugging | |
| Contents | C |

src/debug.c - Parrot debugging

This file implements Parrot debugging and is used by pdb,
the Parrot debugger,
and the debug ops.

static const char *parse_int(const char *str, int *intP)int out of a string and return a pointer to just after the int.
The output parameter intP contains the parsed value.static const char *parse_string(Interp *interp, const char *str, STRING **strP)STRING and placed in the output parameter strP.static const char *parse_key(Interp *interp, const char *str, PMC **keyP)static const char *parse_command(const char *command, unsigned long *cmdP)void PDB_next(Interp *interp, const char *command)void PDB_trace(Interp *interp, const char *command)PDB_condition_t *PDB_cond(Interp *interp, const char *command)void PDB_watchpoint(Interp *interp, const char *command)void PDB_set_break(Interp *interp, const char *command)void PDB_init(Interp *interp, const char *command)void PDB_continue(Interp *interp, const char *command)PDB_breakpoint_t *PDB_find_breakpoint(Interp *interp, const char *command)NULL if the breakpoint doesn't exist or if no breakpoint was specified.void PDB_disable_breakpoint(Interp *interp, const char *command)void PDB_enable_breakpoint(Interp *interp, const char *command)void PDB_delete_breakpoint(Interp *interp, const char *command)void PDB_delete_condition(Interp *interp, PDB_breakpoint_t *breakpoint)void PDB_skip_breakpoint(Interp *interp, long i)i times all breakpoints.char PDB_program_end(Interp *interp)char PDB_check_condition(Interp *interp, PDB_condition_t *condition)char PDB_break(Interp *interp)char *PDB_escape(const char *string, INTVAL length)",
\r,
\n,
\t,
\a and \\.int PDB_unescape(char *string)\r,
\n,
\t,
\a and \\.size_t PDB_disassemble_op(Interp *interp, char *dest, int space, op_info_t *info, opcode_t *op, PDB_file_t *file, opcode_t *code_start, int full_name)op.void PDB_disassemble(Interp *interp, const char *command)long PDB_add_label(PDB_file_t *file, opcode_t *cur_opcode, opcode_t offset)void PDB_free_file(Interp *interp)void PDB_load_source(Interp *interp, const char *command)char PDB_hasinstruction(char *c)void PDB_list(Interp *interp, const char *command)void PDB_eval(Interp *interp, const char *command)evals an instruction.opcode_t *PDB_compile(Interp *interp, const char *command)end op.PDB_eval above or from the compile opcode which generates a malloced string.int PDB_extend_const_table(Interp *interp)void PDB_print_user_stack(Interp *interp, const char *command)void PDB_info(Interp *interp)void PDB_help(Interp *interp, const char *command)void PDB_backtrace(Interp *interp)
include/parrot/debug.h, src/pdb.c and ops/debug.ops.

debug_interp->pdb->debugee->debugger
^ |
| v
+------------- := -----------+
debugger. User code runs of course in the debugee.
|
|
|