in mob_prog.c:

near the top at:

CHAR_DATA *supermob;

add int mprog_online;

in mprog_driver find:

   /*
    * Make sure all ifstate bools are set to FALSE
    */
   for( iflevel = 0; iflevel < MAX_IFS; iflevel++ )
   {
      for( count = 0; count < DO_ELSE; count++ )
      {
         ifstate[iflevel][count] = FALSE;
      }
   }

   iflevel = 0;


below this add:
   mprog_online = 0;

also in mprog_driver find:
   while( TRUE )
   {
      /*
       * With these two lines, cmnd becomes the current line from the prog,
       * and command_list becomes everything after that line.
       */
      cmnd = command_list;
      command_list = mprog_next_command( command_list );

below this add:
   mprog_online++;


in progbug find:

      bug( "%s, %s.", str, mob->description == NULL ? "(unknown)" : mob->description );
   }
   else
   {
      bug( "%s, Mob #%d.", str, vnum );
   }

replace this with:

      bug( "[%s: %d] %s", mob->description == NULL ? "(unknown)" : mob->description, mprog_online, str );
   }
   else
   {
      bug( "[Mob #%d: %d] %s", vnum, mprog_online, str );
   }
and thats it =]