|
|
| version 1.17, 2025/04/28 19:38:55 | version 1.18, 2025/04/29 18:46:17 |
|---|---|
| Line 24 | Line 24 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.18 2025/04/29 18:46:17 snw | |
| * Begin work on interactive debugger | |
| * | |
| * Revision 1.17 2025/04/28 19:38:55 snw | * Revision 1.17 2025/04/28 19:38:55 snw |
| * Add trace mode | * Add trace mode |
| * | * |
| Line 240 int xecline(int typ) | Line 243 int xecline(int typ) |
| next_line: /* entry point for next command line */ | next_line: /* entry point for next command line */ |
| if (debug_mode) { | |
| debug_mode = debugger (); | |
| } | |
| job_set_status (pid, JSTAT_INTERPRETER); | job_set_status (pid, JSTAT_INTERPRETER); |
| Line 5143 open_socket: | Line 5149 open_socket: |
| expr (STRING); | expr (STRING); |
| if (merr () > OK) break; | if (merr () > OK) break; |
| switch (intexpr (argptr)) { | { |
| char brkstr[256]; | |
| case 2: | |
| DSM2err = TRUE; | stcpy (brkstr, argptr); |
| break; /* enable DSM V 2 error processing */ | stcnv_m2c (brkstr); |
| case -2: | if (strcmp (brkstr, "DEBUG") == 0) { |
| DSM2err = FALSE; | debug_mode = TRUE; |
| break; /* enable normal error processing */ | } |
| else { | |
| case 0: | switch (intexpr (argptr)) { |
| breakon = FALSE; | |
| break; /* disable CTRL/C */ | case 2: |
| DSM2err = TRUE; | |
| default: | break; /* enable DSM V 2 error processing */ |
| breakon = TRUE; | |
| break; /* enable CTRL/C */ | case -2: |
| DSM2err = FALSE; | |
| break; /* enable normal error processing */ | |
| case 0: | |
| breakon = FALSE; | |
| break; /* disable CTRL/C */ | |
| default: | |
| breakon = TRUE; | |
| break; /* enable CTRL/C */ | |
| } | |
| } | |
| } | } |
| break; | break; |
| case VIEW: | case VIEW: |
| Line 7289 direct_mode: | Line 7308 direct_mode: |
| } | } |
| } | } |
| else if (strcmp (fmrl_buf, "step") == 0) { | |
| debug_mode = TRUE; | |
| goto zgo; | |
| } | |
| else if ((strcmp (fmrl_buf, "cont") == 0) || (strcmp (fmrl_buf, "continue") == 0)) { | |
| debug_mode = FALSE; | |
| } | |
| else if (strcmp (fmrl_buf, "rbuf") == 0) { | else if (strcmp (fmrl_buf, "rbuf") == 0) { |
| rbuf_dump (); | rbuf_dump (); |
| } | } |