📄 diag.c
字号:
void__mp_printsummary(infohead *h){ size_t n; if (__mp_diagflags & FLG_HTML) { __mp_diagtag("<TABLE CELLSPACING=0 CELLPADDING=1 BORDER=1>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("system page size"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->alloc.heap.memory.page); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("default alignment"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->alloc.heap.memory.align); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("overflow size"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->alloc.oflow); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("overflow byte"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("0x%02X", h->alloc.obyte); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocation byte"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("0x%02X", h->alloc.abyte); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("free byte"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("0x%02X", h->alloc.fbyte); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocation stop"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->astop); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("reallocation stop"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->rstop); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("free stop"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->fstop); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("unfreed abort"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->uabort); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("small boundary"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->prof.sbound); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("medium boundary"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->prof.mbound); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("large boundary"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->prof.lbound); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("lower check range"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else { __mp_diag("system page size: "); __mp_printsize(h->alloc.heap.memory.page); __mp_diag("\ndefault alignment: "); __mp_printsize(h->alloc.heap.memory.align); __mp_diag("\noverflow size: "); __mp_printsize(h->alloc.oflow); __mp_diag("\noverflow byte: 0x%02X", h->alloc.obyte); __mp_diag("\nallocation byte: 0x%02X", h->alloc.abyte); __mp_diag("\nfree byte: 0x%02X", h->alloc.fbyte); __mp_diag("\nallocation stop: %lu", h->astop); __mp_diag("\nreallocation stop: %lu", h->rstop); __mp_diag("\nfree stop: %lu", h->fstop); __mp_diag("\nunfreed abort: %lu", h->uabort); __mp_diag("\nsmall boundary: "); __mp_printsize(h->prof.sbound); __mp_diag("\nmedium boundary: "); __mp_printsize(h->prof.mbound); __mp_diag("\nlarge boundary: "); __mp_printsize(h->prof.lbound); __mp_diag("\nlower check range: "); } if (h->lrange == (size_t) -1) __mp_diag("-"); else __mp_diag("%lu", h->lrange); if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("upper check range"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nupper check range: "); if (h->urange == (size_t) -1) __mp_diag("-"); else __mp_diag("%lu", h->urange); if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("check frequency"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->check); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("failure frequency"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->ffreq); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("failure seed"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->fseed); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("prologue function"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else { __mp_diag("\ncheck frequency: %lu", h->check); __mp_diag("\nfailure frequency: %lu", h->ffreq); __mp_diag("\nfailure seed: %lu", h->fseed); __mp_diag("\nprologue function: "); } if (h->prologue == NULL) __mp_diag("<unset>"); else { __mp_diag(MP_POINTER " [", h->prologue); __mp_printsymbol(&h->syms, (void *) h->prologue); __mp_diag("]"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("epilogue function"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nepilogue function: "); if (h->epilogue == NULL) __mp_diag("<unset>"); else { __mp_diag(MP_POINTER " [", h->epilogue); __mp_printsymbol(&h->syms, (void *) h->epilogue); __mp_diag("]"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("handler function"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nhandler function: "); if (h->nomemory == NULL) __mp_diag("<unset>"); else { __mp_diag(MP_POINTER " [", h->nomemory); __mp_printsymbol(&h->syms, (void *) h->nomemory); __mp_diag("]"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("log file"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nlog file: "); if (h->log == NULL) __mp_diag("<unset>"); else { if (__mp_diagflags & FLG_HTML) __mp_diagtag("<TT>"); __mp_diag("%s", h->log); if (__mp_diagflags & FLG_HTML) __mp_diagtag("</TT>"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("profiling file"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nprofiling file: "); if (h->prof.file == NULL) __mp_diag("<unset>"); else { if (__mp_diagflags & FLG_HTML) __mp_diagtag("<TT>"); __mp_diag("%s", h->prof.file); if (__mp_diagflags & FLG_HTML) __mp_diagtag("</TT>"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("tracing file"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\ntracing file: "); if (h->trace.file == NULL) __mp_diag("<unset>"); else { if (__mp_diagflags & FLG_HTML) __mp_diagtag("<TT>"); __mp_diag("%s", h->trace.file); if (__mp_diagflags & FLG_HTML) __mp_diagtag("</TT>"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("program filename"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); } else __mp_diag("\nprogram filename: "); if (h->alloc.heap.memory.prog == NULL) __mp_diag("<not found>"); else { if (__mp_diagflags & FLG_HTML) __mp_diagtag("<TT>"); __mp_diag("%s", h->alloc.heap.memory.prog); if (__mp_diagflags & FLG_HTML) __mp_diagtag("</TT>"); } if (__mp_diagflags & FLG_HTML) { __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("symbols read"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->syms.dtree.size); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("autosave count"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->prof.autosave); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("freed queue size"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->alloc.fmax); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocation count"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu", h->count); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocation peak"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", h->cpeak); __mp_printsize(h->peak); __mp_diag(")"); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocation limit"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_printsize(h->limit); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("allocated blocks"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", h->alloc.atree.size); __mp_printsize(h->alloc.asize); __mp_diag(")"); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("marked blocks"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", h->mcount); __mp_printsize(h->mtotal); __mp_diag(")"); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("freed blocks"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", h->alloc.gtree.size); __mp_printsize(h->alloc.gsize); __mp_diag(")"); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("free blocks"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", h->alloc.ftree.size); __mp_printsize(h->alloc.fsize); __mp_diag(")"); __mp_diagtag("</TD>\n"); __mp_diagtag("</TR>\n"); } else { __mp_diag("\nsymbols read: %lu", h->syms.dtree.size); __mp_diag("\nautosave count: %lu", h->prof.autosave); __mp_diag("\nfreed queue size: %lu", h->alloc.fmax); __mp_diag("\nallocation count: %lu", h->count); __mp_diag("\nallocation peak: %lu (", h->cpeak); __mp_printsize(h->peak); __mp_diag(")\nallocation limit: "); __mp_printsize(h->limit); __mp_diag("\nallocated blocks: %lu (", h->alloc.atree.size); __mp_printsize(h->alloc.asize); __mp_diag(")\nmarked blocks: %lu (", h->mcount); __mp_printsize(h->mtotal); __mp_diag(")\nfreed blocks: %lu (", h->alloc.gtree.size); __mp_printsize(h->alloc.gsize); __mp_diag(")\nfree blocks: %lu (", h->alloc.ftree.size); __mp_printsize(h->alloc.fsize); } n = h->alloc.heap.itree.size + h->alloc.itree.size + h->addr.list.size + h->syms.strings.list.size + h->syms.strings.tree.size + h->syms.itree.size + h->ltable.list.size + h->prof.ilist.size + h->list.size + h->alist.size; if (__mp_diagflags & FLG_HTML) { __mp_diagtag("<TR>\n"); __mp_diagtag("<TD>"); __mp_diag("internal blocks"); __mp_diagtag("</TD>\n"); __mp_diagtag("<TD>"); __mp_diag("%lu (", n); } else __mp_diag(")\ninternal blocks: %lu (", n); n = h->alloc.heap.isize + h->alloc.isize + h->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -