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

📄 db_sym.hxx

📁 C++ 编写的EROS RTOS
💻 HXX
字号:
/*	$NetBSD: db_sym.h,v 1.6 1994/10/09 08:19:41 mycroft Exp $	*//*  * Mach Operating System * Copyright (c) 1991,1990 Carnegie Mellon University * All Rights Reserved. *  * Permission to use, copy, modify and distribute this software and its * documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. *  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. *  * Carnegie Mellon requests users of this software to return to *  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU *  School of Computer Science *  Carnegie Mellon University *  Pittsburgh PA 15213-3890 *  * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * * 	Author: Alessandro Forin, Carnegie Mellon University *	Date:	8/90 *//* * This module can handle multiple symbol tables */typedef struct {	const char	*name;		/* symtab name */	char		*start;		/* symtab location */	char		*end;	void		*machdep;	/* optional machdep pointer */} db_symtab_t;extern db_symtab_t	*db_last_symtab; /* where last symbol was found *//* * Symbol representation is specific to the symtab style: * BSD compilers use dbx' nlist, other compilers might use * a different one */typedef	char *		db_sym_t;	/* opaque handle on symbols */#define	DB_SYM_NULL	((db_sym_t)0)/* * Non-stripped symbol tables will have duplicates, for instance * the same string could match a parameter name, a local var, a * global var, etc. * We are most concern with the following matches. */typedef int		db_strategy_t;	/* search strategy */#define	DB_STGY_ANY	0			/* anything goes */#define DB_STGY_XTRN	1			/* only external symbols */#define DB_STGY_PROC	2			/* only procedures */extern bool	db_qualify_ambiguous_names;					/* if true, check across symbol tables					 * for multiple occurrences of a name.					 * Might slow down quite a bit *//* * Functions exported by the symtable module */int db_add_symbol_table (char *, char *, const char * name, void *);					/* extend the list of symbol tables */void db_del_symbol_table (const char *);					/* remove a symbol table from list */bool db_value_of_name (const char *, db_expr_t *);					/* find symbol value given name */db_sym_t db_search_symbol (db_addr_t, db_strategy_t, db_expr_t *);					/* find symbol given value */void db_symbol_values (db_sym_t, const char **, db_expr_t *);					/* return name and value of symbol */#define db_find_sym_and_offset(val,namep,offp)	\	db_symbol_values(db_search_symbol(val,DB_STGY_ANY,offp),namep,0)					/* find name&value given approx val */#define db_find_xtrn_sym_and_offset(val,namep,offp)	\	db_symbol_values(db_search_symbol(val,DB_STGY_XTRN,offp),namep,0)					/* ditto, but no locals */bool db_eqname (const char *, const char *, char);					/* strcmp, modulo leading char */void db_printsym (db_expr_t, db_strategy_t);					/* print closest symbol to a value */

⌨️ 快捷键说明

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