Changed debug dumps of kernel process table (F1)

This commit is contained in:
Jorrit Herder 2005-06-30 15:55:43 +00:00
parent bac6068857
commit bfa25ba41f
2 changed files with 27 additions and 10 deletions

View file

@ -41,6 +41,20 @@ PUBLIC int do_fkey_pressed(message *m)
if (pressed(F11)) timing_dmp(); if (pressed(F11)) timing_dmp();
if (pressed(F12)) sched_dmp(); if (pressed(F12)) sched_dmp();
if (pressed(F9)) {
printf("IS server going into infinite loop, press F9 to break\n");
printf("Five times any key is fine as well ...\n");
s = 0;
while(TRUE) {
if (OK == nb_receive(ANY, m)) {
s ++;
if (pressed(F9) || s >= 5 ) break;
else printf("IS server in infinite loop, press F9 to break\n");
}
}
printf("IS server back to normal ... \n");
}
/* Also check Shift F1-F6 keys. */ /* Also check Shift F1-F6 keys. */
if (pressed(SF1)) mproc_dmp(); if (pressed(SF1)) mproc_dmp();

View file

@ -189,14 +189,14 @@ PUBLIC void image_dmp()
return; return;
} }
printf("Image table dump showing all processes included in system image.\n"); printf("Image table dump showing all processes included in system image.\n");
printf("---name-- -nr- -q- ----pc- -stack- ------sendmask-------\n"); printf("---name-- -nr- -flags- -q- ----pc- -stack- ------sendmask-------\n");
for (i=0; i<IMAGE_SIZE; i++) { for (i=0; i<IMAGE_SIZE; i++) {
ip = &image[i]; ip = &image[i];
for (j=-NR_TASKS; j<INIT_PROC_NR+2; j++) for (j=-NR_TASKS; j<INIT_PROC_NR+2; j++)
maskstr[j+NR_TASKS] = (isallowed(ip->sendmask, j)) ? '1' : '0'; maskstr[j+NR_TASKS] = (isallowed(ip->sendmask, j)) ? '1' : '0';
maskstr[j+NR_TASKS] = '\0'; maskstr[j+NR_TASKS] = '\0';
printf("%8s %4d %3d %7lu %7lu %s\n", printf("%8s %4d 0x%02x %3d %7lu %7lu %s\n",
ip->proc_name, ip->proc_nr, ip->priority, ip->proc_name, ip->proc_nr, ip->flags, ip->priority,
(long)ip->initial_pc, ip->stksize, maskstr); (long)ip->initial_pc, ip->stksize, maskstr);
} }
printf("\n"); printf("\n");
@ -369,7 +369,7 @@ PUBLIC void proctab_dmp()
return; return;
} }
printf("\n--nr/name--- -q- -sc- -user- -sys- -text- -data- -size- -flags-\n"); printf("\n--nr-name-flags--pri-quant-#--sc- -user---sys- -text---data---size- -rts flags-\n");
for (rp = oldrp; rp < END_PROC_ADDR; rp++) { for (rp = oldrp; rp < END_PROC_ADDR; rp++) {
if (isemptyp(rp)) continue; if (isemptyp(rp)) continue;
@ -381,21 +381,24 @@ PUBLIC void proctab_dmp()
if (proc_nr(rp) == IDLE) printf("(%2d) ", proc_nr(rp)); if (proc_nr(rp) == IDLE) printf("(%2d) ", proc_nr(rp));
else if (proc_nr(rp) < 0) printf("[%2d] ", proc_nr(rp)); else if (proc_nr(rp) < 0) printf("[%2d] ", proc_nr(rp));
else printf(" %2d ", proc_nr(rp)); else printf(" %2d ", proc_nr(rp));
printf("%-7.7s %2u %02.2x %6lu%6lu%6uK%6uK%6uK %3x", printf("%-7.7s %2x %u/%u %02d/%02d %u %02.2x %6lu%6lu %6uK%6uK%6uK %3x",
rp->p_name, rp->p_name,
rp->p_priority, rp->p_flags,
rp->p_priority, rp->p_max_priority,
rp->p_sched_ticks, rp->p_quantum_size,
rp->p_full_quantums,
(char) rp->p_call_mask, (char) rp->p_call_mask,
rp->p_user_time, rp->p_sys_time, rp->p_user_time, rp->p_sys_time,
click_to_round_k(text), click_to_round_k(data), click_to_round_k(text), click_to_round_k(data),
click_to_round_k(size), click_to_round_k(size),
rp->p_flags); rp->p_rts_flags);
if (rp->p_flags & RECEIVING) { if (rp->p_rts_flags & RECEIVING) {
printf(" %-7.7s", proc_name(rp->p_getfrom)); printf(" %-7.7s", proc_name(rp->p_getfrom));
} else } else
if (rp->p_flags & SENDING) { if (rp->p_rts_flags & SENDING) {
printf(" S:%-5.5s", proc_name(rp->p_sendto)); printf(" S:%-5.5s", proc_name(rp->p_sendto));
} else } else
if (rp->p_flags == 0) { if (rp->p_rts_flags == 0) {
printf(" "); printf(" ");
} }
printf("\n"); printf("\n");