- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块设计说明书模块设计说明书
模块设计说明书
util
作者: 宋波
创建时间: 2004年12月07日
稳定程度: 需不断修改
修改历史
版本 日期 修订人 说明 1.0 2004.11.15 宋波 第一版 2.0 2004.12.23 毛佳音 加入了第四部分:错误码生成规则 3.0 2005.05.17 毛佳音 根据该模块的使用情况做了一些改动
目 录
1. 引言 3
1.1 模块名称 util 3
1.3相关资料、缩略语、定义 3
2. 程序结构 3
2.1程序结构图 3
2.2程序文件清单 3
3. 程序设计说明 4
4.用户界面设计说明 6
4.1 mem模块的使用 6
4.2 log模块的使用 6
4.3 error模块的使用 7
1. 引言
1.1 模块名称util
1.2模块背景和内容概要FitMPI是一个MPI标准的一个完备实现。实现一个通用的工具库,可以在系统总体上实现代码复用,使系统结构更加合理,并加快开发进度。
常用的工具集涉及错误处理、日志记录、内存管理,常用数据结构库等方面。
1.3相关资料、缩略语、定义
2. 程序结构
2.1程序结构图
该模块由几个子模块组成,包括mem, log, error。彼此之间没有太多相关,但因为都是基本的工具模块,之间会有相互调用的现像出现。Log模块不调用其它,error在打印出错信息时调用log模块,mem在内存分配出错时调用error的部分功能。
图1 子模块关系图
2.2程序文件清单
运行平台 编程语言 简要描述
Unix-like OS C
程序文件名
Include/error.h 定义了mpi_error_info结构,以及错误类别代码,级别代码等
Include /log.h 定义了logconf结构,列出log接口函数的声明
Include/memory.h 定义了不同数据类型,列出mem接口函数的声明
Log/logging.c 实现了log的全部功能
Log/log_test.c log子模块的测试函数
Error/process.c 针对不同级别的错误进行处理
Error/generate.c 暂时不用
Error/error_test.c error子模块的测试函数
Mem/malloc.c 实现了mem的分配与回收内存功能
3. 程序设计说明
3.1 错误处理
错误处理工具集可以辨别错误并输出相应信息,方便用户调试程序。
Mpi_Error_Process(struct Mpi_Error_Info info)
IN info 错误出现的位置信息,包括所在的通信域,主机号,进程号,以及函数名和所在函数行数等。
依据所在位置信息location进行处理(如将错误信息加入到错误消息队列中,打印错误信息,中断程序执行,退出系统等)。
3.2日志记录
日志记录不仅可以记录用户使用FitMPI的历史信息(如登陆和退出时间,用户程序名称等)和系统运行的状态信息(如mmd模块启动时间等),还可以分级别记录程序运行过程中的状态信息(如警告信息,调试信息,错误信息等)。
Mpi_Log_users()
记录用户使用FitMPI的历史信息(如登陆和退出时间,用户程序名称等)到日志文件logfile
Mpi_Log_system()
记录系统运行时的状态信息(如mmd启动和退出时间等)到logfile文件
Mpi _Log_warning()
Mpi _Log_debug()
Mpi _Log_error()
Mpi _Log_fatal()
分四个级别记录程序运行过程中的状态信息。
以上6个等级的日志函数在运行时都会先读取一个当前用户目录下的一个日志配置文件Log_Configure,决定要写入的日志文件名,是写入文件还是标准输出设备,以及以覆盖的方式还是追加的方式写入等。处理方式包括如下几条:
是否打印到文件,文件名,以何种方式写文件(添加/重写),如果文件打开失败,则打印到标准输出上
是否打印到stdout
是否打印到syslog
另外,每一种处理方式可以在每行信息之前加入一个信息头。每行信息总长不能超过MAXLINE。每种类型的信息都有默认的配置,如果存在log配置文件,则按照文件里面给定的配置。默认配置如下:
MPI_LOG_DEBUG信息不向任何目标打印
其他类型均打印到默认的log文件中,文件名为fmpi.log
日志配置文件Log_Configure的每一个记录表示某个级别的日志函数的配置情况,结构如下:
typedef
文档评论(0)