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

📄 debug.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <auth.h>#include <bio.h>#include "imap4d.h"voiddebuglog(char *fmt, ...){	va_list arg;	static int logfd;	if(debug == 0)		return;	if(logfd == 0)		logfd = open("/sys/log/imap4d", OWRITE);	if(logfd > 0){		va_start(arg, fmt);		fprint(logfd, "%s: ", username);		vfprint(logfd, fmt, arg);		va_end(arg);	}}voidboxVerify(Box *box){	Msg *m;	ulong seq, uid, recent;	if(box == nil)		return;	recent = 0;	seq = 0;	uid = 0;	for(m = box->msgs; m != nil; m = m->next){		if(m->seq == 0)			fprint(2, "m->seq == 0: m->seq=%lud\n", m->seq);		else if(m->seq <= seq)			fprint(2, "m->seq=%lud out of order: last=%lud\n", m->seq, seq);		seq = m->seq;		if(m->uid == 0)			fprint(2, "m->uid == 0: m->seq=%lud\n", m->seq);		else if(m->uid <= uid)			fprint(2, "m->uid=%lud out of order: last=%lud\n", m->uid, uid);		uid = m->uid;		if(m->flags & MRecent)			recent++;	}	if(seq != box->max)		fprint(2, "max=%lud, should be %lud\n", box->max, seq);	if(uid >= box->uidnext)		fprint(2, "uidnext=%lud, maxuid=%lud\n", box->uidnext, uid);	if(recent != box->recent)		fprint(2, "recent=%lud, should be %lud\n", box->recent, recent);}voidopenfiles(void){	Dir *d;	int i;	for(i = 0; i < 20; i++){		d = dirfstat(i);		if(d != nil){			fprint(2, "fd[%d]='%s' type=%c dev=%d user='%s group='%s'\n", i, d->name, d->type, d->dev, d->uid, d->gid);			free(d);		}	}}voidls(char *file){	Dir *d;	int fd, i, nd;	fd = open(file, OREAD);	if(fd < 0)		return;	/*	 * read box to find all messages	 * each one has a directory, and is in numerical order	 */	d = dirfstat(fd);	if(d == nil){		close(fd);		return;	}	if(!(d->mode & DMDIR)){		fprint(2, "file %s\n", file);		free(d);		close(fd);		return;	}	free(d);	while((nd = dirread(fd, &d)) > 0){		for(i = 0; i < nd; i++){			fprint(2, "%s/%s %c\n", file, d[i].name, "-d"[(d[i].mode & DMDIR) == DMDIR]);		}		free(d);	}	close(fd);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -