⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diag.c

📁 debug source code under unix platform.
💻 C
📖 第 1 页 / 共 5 页
字号:
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 + -