--- freem/src/mdebug.h 2025/03/09 15:20:18 1.2 +++ freem/src/mdebug.h 2025/04/30 14:41:03 1.5 @@ -1,23 +1,11 @@ /* - * * - * * * - * * * - * *************** - * * * * * - * * MUMPS * - * * * * * - * *************** - * * * - * * * - * * - * - * mdebug.h + * $Id: mdebug.h,v 1.5 2025/04/30 14:41:03 snw Exp $ * debugger enhancements * * * Author: Serena Willis * Copyright (C) 1998 MUG Deutschland - * Copyright (C) 2020 Coherent Logic Development LLC + * Copyright (C) 2020, 2025 Coherent Logic Development LLC * * * This file is part of FreeM. @@ -35,6 +23,19 @@ * You should have received a copy of the GNU Affero Public License * along with FreeM. If not, see . * + * $Log: mdebug.h,v $ + * Revision 1.5 2025/04/30 14:41:03 snw + * Further debugger work + * + * Revision 1.4 2025/04/29 18:46:17 snw + * Begin work on interactive debugger + * + * Revision 1.3 2025/03/09 19:50:47 snw + * Second phase of REUSE compliance and header reformat + * + * + * SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC + * SPDX-License-Identifier: AGPL-3.0-or-later **/ #if !defined(_MDEBUG_H) @@ -42,6 +43,17 @@ #define MAXWATCH 100 +#define DEBENTRY_CMD 0 +#define DEBENTRY_LINE 1 +#define DEBENTRY_BREAKPOINT 2 +#define DEBENTRY_ERROR 4 +#define DEBENTRY_SIGINT 5 + +#define STEPMODE_NONE 0 +#define STEPMODE_CONT 1 +#define STEPMODE_CMD 2 +#define STEPMODE_LINE 3 + typedef struct dbg_watch { /* name of variable to watch */ @@ -57,6 +69,7 @@ typedef struct dbg_watch { } dbg_watch; extern void dbg_init (void); +extern int debugger (int entry_mode, char *curcode); extern dbg_watch *dbg_add_watch (char *varnam); extern void dbg_remove_watch (char *varnam); extern dbg_watch *dbg_find_watch (char *varnam); @@ -69,4 +82,4 @@ extern void dbg_dump_watchlist (void); extern short dbg_enable_watch; /* 0 = watches disabled, 1 = watches enabled */ extern int dbg_pending_watches; -#endif \ No newline at end of file +#endif