摘要: 程序健壮性的提高要从设计、实现、测试三方面入手,具体来说 1. 设计 1. 系统 系统外部模块的异步响应都需要设置超时时间,要有超时处理,超时时间要和外部模块协商一个合理时间。 发送消息失败和设置timer失败统一做处理。 需要设计相关机制(比如心跳包机制)监控进程/线程是否发生了堵塞,发生堵塞后需 阅读全文
posted @ 2021-01-03 22:11 yuzhenjin 阅读(842) 评论(0) 推荐(1) 编辑
摘要: 1. 什么是dmesg ​ Linux内核是操作系统的核心,它控制对系统资源(例如:CPU、I/O设备、物理内存和文件系统)的访问。在引导过程中以及系统运行时,内核会将各种消息写入内核环形缓冲区,这些消息包括有关系统操作的各种信息。 ​ 内核环形缓冲区是物理内存的一部分(意味着重新开机会重新生成,并 阅读全文
posted @ 2020-12-31 17:51 yuzhenjin 阅读(7948) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么要检测非安全函数 C语言中非安全的经典函数(比如字符串操作类函数)如果使用不当可能会引发一些问题,最好在项目组禁止使用。 常见的函数有以下这些: strcpy/wcscpy/stpcpy/ wcpcpy scanf/ sscanf /vscanf /fwscanf /swscanf/ w 阅读全文
posted @ 2020-12-31 17:48 yuzhenjin 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 如何利用日志快速定位问题 引言 一般来说软件系统或者软件组件都可以简单的划分为下面三部分: 输入部分,例如: 软件系统外部通信数据/事件输入; 软件组件API接口参数(同步/异步); 软件系统或者组件从外界读取数据(存储设备,文件,共享内存,数据库等) 处理部分,例如: 软件系统或者组件内部处理(比 阅读全文
posted @ 2020-11-22 11:48 yuzhenjin 阅读(1675) 评论(0) 推荐(0) 编辑
摘要: 正在运行的程序按照内存段来组织,内存段的类型有如下几种: 代码段:用户程序指令,长期存在内存中 数据段:全局变量等,长期存在内存中 堆:局部变量,参数参数等,短期存在内存中 栈:动态存储,可变 代码段: 问题1:是否存在无用代码片段(函数,变量),无用全局变量,无用的类私有变量等 点检手段: 通过静 阅读全文
posted @ 2020-11-22 11:40 yuzhenjin 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 当出现这个问题后,尝试一下方法: $ sudo passwd rootEnter new UNIX password://此时输入你的密码Retype new UNIX password://再次输入,相同密码。passwd: password updated successfully 此时再用su 阅读全文
posted @ 2017-10-14 20:05 yuzhenjin 阅读(406) 评论(0) 推荐(0) 编辑