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

📄 pcs.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
#ifndef lintstatic	char sccsid[] = "@(#)pcs.c	4.2 8/11/83";#endif/* * *	UNIX debugger * */#include "defs.h"MSG		NOBKPT;MSG		SZBKPT;MSG		EXBKPT;MSG		NOPCS;MSG		BADMOD;/* breakpoints */BKPTR		bkpthead;CHAR		*lp;CHAR		lastc;INT		signo;L_INT		dot;INT		pid;L_INT		cntval;L_INT		loopcnt;L_INT		entrypt;INT		adrflg;/* sub process control */subpcs(modif){	REG INT		check;	INT		execsig,runmode;	REG BKPTR	bkptr;	STRING		comptr;	execsig=0; loopcnt=cntval;	switch (modif) {	    /* delete breakpoint */	    case 'd': case 'D':		IF (bkptr=scanbkpt(dot))		THEN bkptr->flag=0; return;		ELSE error(NOBKPT);		FI	    /* set breakpoint */	    case 'b': case 'B':		IF (bkptr=scanbkpt(dot))		THEN bkptr->flag=0;		FI		FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt		DO IF bkptr->flag == 0		   THEN break;		   FI		OD		IF bkptr==0		THEN IF (bkptr=sbrk(sizeof *bkptr)) == -1		     THEN error(SZBKPT);		     ELSE bkptr->nxtbkpt=bkpthead;			  bkpthead=bkptr;		     FI		FI		bkptr->loc = dot;		bkptr->initcnt = bkptr->count = cntval;		bkptr->flag = BKPTSET;		check=MAXCOM-1; comptr=bkptr->comm; rdc(); lp--;		REP *comptr++ = readchar();		PER check-- ANDF lastc!=EOR DONE		*comptr=0; lp--;		IF check		THEN return;		ELSE error(EXBKPT);		FI	    /* exit */	    case 'k' :case 'K':		IF pid		THEN printf("%d: killed", pid); endpcs(); return;		FI		error(NOPCS);	    /* run program */	    case 'r': case 'R':		endpcs();		setup(); runmode=CONTIN;		IF adrflg 		THEN IF !scanbkpt(dot) THEN loopcnt++; FI		ELSE IF !scanbkpt(entrypt+2) THEN loopcnt++; FI		FI		break;	    /* single step */	    case 's': case 'S':		IF pid		THEN			runmode=SINGLE; execsig=getsig(signo);		ELSE setup(); loopcnt--;		FI		break;	    /* continue with optional signal */	    case 'c': case 'C': case 0:		IF pid==0 THEN error(NOPCS); FI		runmode=CONTIN; execsig=getsig(signo);		break;	    default: error(BADMOD);	}	IF loopcnt>0 ANDF runpcs(runmode,execsig)	THEN printf("breakpoint%16t");	ELSE printf("stopped at%16t");	FI	delbp();	printpc();}

⌨️ 快捷键说明

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