Diff for /freem/src/mdebug.c between versions 1.6 and 1.9

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 {

Removed from v.1.6  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>