version 1.6, 2025/04/30 14:41:03
|
version 1.9, 2025/05/01 03:56:29
|
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.9 2025/05/01 03:56:29 snw |
|
* -m |
|
* |
|
* Revision 1.8 2025/04/30 20:03:09 snw |
|
* Work on entryref parser |
|
* |
|
* Revision 1.7 2025/04/30 17:19:16 snw |
|
* Improve backtraces in debugger |
|
* |
* Revision 1.6 2025/04/30 14:41:03 snw |
* Revision 1.6 2025/04/30 14:41:03 snw |
* Further debugger work |
* Further debugger work |
* |
* |
Line 166 int debugger (int entry_mode, char *curc
|
Line 175 int debugger (int entry_mode, char *curc
|
|
|
while (1) { |
while (1) { |
|
|
//stcpy (rouname_buf, rou_name); |
if (nstx == 0) { |
getraddress (rouname_buf, nstx); |
stcpy (rouname_buf, rou_name); |
|
} |
|
else { |
|
char tbuf[256]; |
|
|
|
getraddress (tbuf, nstx); |
|
stcpy (rouname_buf, &(tbuf[3])); |
|
} |
stcnv_m2c (rouname_buf); |
stcnv_m2c (rouname_buf); |
|
|
snprintf (dbg_prompt, sizeof (dbg_prompt) - 1, "%s $STACK=%d [DEBUG]> ", rouname_buf, nstx); |
snprintf (dbg_prompt, sizeof (dbg_prompt) - 1, "%s $STACK=%d [DEBUG]> ", rouname_buf, nstx); |
Line 206 int debugger (int entry_mode, char *curc
|
Line 222 int debugger (int entry_mode, char *curc
|
return TRUE; |
return TRUE; |
} |
} |
else if ((strcmp (dbg_cmd, "backtrace") == 0) || (strcmp (dbg_cmd, "bt") == 0)) { |
else if ((strcmp (dbg_cmd, "backtrace") == 0) || (strcmp (dbg_cmd, "bt") == 0)) { |
char tmpbuf[256]; |
char tmpbuf[1024]; |
|
char ecbuf[256]; |
printf ("%-10s%s\n", "$STACK", "(CMND)ENTRY"); |
char lref[1024]; |
printf ("%-10s%s\n", "======", "==========="); |
char bt_mcode[1024]; |
|
|
|
printf ("%-10s%s\n", "$STACK", "ENTRY"); |
|
printf ("%-10s%s\n", "======", "====="); |
|
|
|
|
for (i = 1; i <= nstx; i++) getraddress (callerr[i], i); |
for (i = 1; i <= nstx; i++) getraddress (callerr[i], i); |
for (i = nstx; i > 0; i--) { |
for (i = nstx; i > 0; i--) { |
|
|
stcpy (tmpbuf, callerr[i]); |
stcpy (tmpbuf, callerr[i]); |
stcnv_m2c (tmpbuf); |
stcnv_m2c (tmpbuf); |
printf ("%-10d%s\n", i, tmpbuf); |
|
|
printf ("%-10d%s\n", i, &(tmpbuf[3])); |
|
stcpy (lref, &(tmpbuf[3])); |
|
stcnv_m2c (lref); |
|
if (routine_get_line (lref, bt_mcode) != NULL) { |
|
stcnv_m2c (bt_mcode); |
|
printf ("%-10s%s\n", " ", bt_mcode); |
|
} |
} |
} |
} |
} |
else { |
else { |