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

📄 breakp2.c

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group**********//* * Code to deal with breakpoints and tracing. */#include "spice.h"#include "cpdefs.h"#include "ftedefs.h"#include "ftedata.h"#include "ftedebug.h"#include "suffix.h"struct dbcomm *dbs = NULL;      /* export for iplot */int debugnumber = 1;void settrace( );/* Set a breakpoint. Possible commands are: *  stop after n *  stop when var cond val * * If more than one is given on a command line, then this is a conjunction. *//* Save a vector. */voidcom_save(wl)    wordlist *wl;{    settrace(wl, VF_ACCUM, NULL);    return;}voidcom_save2(wl, name)    wordlist *wl;    char	*name;{    settrace(wl, VF_ACCUM, name);    return;}voidsettrace(wl, what, name)    wordlist *wl;    int what;    char *name;{    struct dbcomm *d, *td;    char *s;    while (wl) {        s = cp_unquote(wl->wl_word);        d = alloc(struct dbcomm);        d->db_number = debugnumber++;        d->db_analysis = name;        if (eq(s, "all")) {            switch (what) {                case VF_PRINT:                    d->db_type = DB_TRACEALL;                    break;/*              case VF_PLOT:                    d->db_type = DB_IPLOTALL;                    break; */                case VF_ACCUM:                    /* d->db_type = DB_SAVEALL; */		    d->db_nodename1 = copy(s);                    d->db_type = DB_SAVE;                    break;            }/*          wrd_chtrace((char *) NULL, true, what); */        } else {            switch (what) {                case VF_PRINT:                    d->db_type = DB_TRACENODE;                    break;/*              case VF_PLOT:                    d->db_type = DB_IPLOT;                    break; */                case VF_ACCUM:                    d->db_type = DB_SAVE;                    break;            }            d->db_nodename1 = copy(s);/*          wrd_chtrace(s, true, what); */        }        if (dbs) {            for (td = dbs; td->db_next; td = td->db_next)                ;            td->db_next = d;        } else            dbs = d;        wl = wl->wl_next;    }    return;}intft_getSaves(savesp)    struct save_info **savesp;{    struct dbcomm *d;    int count = 0, i = 0;    struct save_info *array;    for (d = dbs; d; d = d->db_next)        if (d->db_type == DB_SAVE)            count++;        if (!count)        return (0);        *savesp = array = (struct save_info *)	    tmalloc(sizeof (struct save_info) * count);    for (d = dbs; d; d = d->db_next)        if (d->db_type == DB_SAVE) {            array[i].used = 0;	    if (d->db_analysis)		array[i].analysis = (IFuid *) copy(d->db_analysis);	    else		array[i].analysis = NULL;            array[i++].name = copy(d->db_nodename1);	}        return (count);}

⌨️ 快捷键说明

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