我是C开发的软件工程方面的新手; 有没有人有一个很好的指导如何为C项目(特别是嵌入式)设计错误跟踪或错误控制系统? 谈论C库的错误跟踪也会有所帮助。
根据我的经验,这里的策略属于几个阵营。
这种方法的问题在于您无法直接从函数返回值。
我已经看到这种方法在商业RTOS中成功使用,并且个人更喜欢它,因为我发现它是限制性最小的。 唯一可能的缺点是你必须显式声明一个变量来存储错误代码,即使你不关心结果。 从某种意义上说,我实际上有点像那个要求,因为它迫使你不断思考如何处理错误。
这些链接可能会有所帮助:
这些是您需要定义的基本内容:
enum _TraceLevelType { INFO = 0, DEBUG, WARNING, ERROR, CRITICAL } TraceLevelType;
enum _ErrorType { //Internal errors 0-100 APPLICATION_FAILURE = 0, ... MEMORY_FAULT, //UI ERRORS 101-200 INVALID_OPTION_SELECTED = 101, .... ... }ErrorType;
所以你的错误方法将是这样的:
TraceError(TraceLevelType traceLevel, ErrorType errorType, char *msg) { if(CURRENT_TRACE_LEVEL <= traceLevel) /* Ignore message */ else /*Queue the Message*/ }
您还可以使用更多参数来指示哪个模块正在发送错误,但我认为基本上就是这样。
需要了解更多c/c++开发分享有没有人对C的设计和错误跟踪/控制系统有很好的指导?,也可以关注C/ C++技术分享栏目---计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享有没有人对C的设计和错误跟踪/控制系统有很好的指导?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979574.html