码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Coredump-Z: 系统容量提升时出现的一种情况


    文章目录

    • 简介
    • 原因-原有数组容量不够
    • 测试驱动的不足
    • 解决

    简介

    这个也属于软件设计类型的问题。
    做容量提升,是说原有软件已经存在很多年(有的可能多达十几,二十几年),经过多年的摸爬滚打,还算稳定。
    后续客户要求,将某些功能的容量提升一下,比如:原来系统支持256个vlan,要提高容量,要求支持1024个vlan。
    这个时候就很容易碰到各种coredump。

    原因-原有数组容量不够

    尤其是在大型软件开发,大家都是按照模块划分,导致容量的提升代码修改,非常的繁琐;所以这种提升容量的开发,一般都是采用测试驱动开发。哪里需要改,就改哪里。
    原有数组如果容量不够,有没有加越界限制,就会出现coredump;因为,原来只需要填充256个vlan的信息,后续要填充1024个vlan记录。

    还有一种情况,就是在打日志时,使用到字符数组,这种容量提升也是容易碰到字符数组越界,尤其是使用不安全的字符操作函数比如:sprintf, strcat,等等

    测试驱动的不足

    这种测试驱动的容量提升开发,有一个缺点就是,如果测试不能面面俱到,可能导致有些问题只能到客户哪里才能暴漏。切记。所以需要测试的经验充足。

    解决

    从设计架构的角度去考虑问题的话,这种有可能扩容的功能,最好事先设计好;
    但是问题是:这种设计是需要花费更多的时间去,以及协调各个模块的开发;而且不可预知是否一定会有扩容的发生,也就不确定有没有意义;而且随着软件生命周期的进行,开发人员的流动导致某些功能点的知识遗漏。

  • 相关阅读:
    MyBatis 学习(七)之 缓存
    Linux文件基本权限
    图解LeetCode——1422. 分割字符串的最大得分(难度:简单)
    [量化投资-学习笔记014]Python+TDengine从零开始搭建量化分析平台-Python知识点汇总
    黑马SSM学习笔记
    字符串——子串查找(kmp)
    Sendable 和 @Sendable 闭包 —— 代码实例详解
    SDVO:LDSO+语义,直接法语义SLAM(RAL 2022)
    ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权
    CTF—Go题目复现
  • 原文地址:https://blog.csdn.net/qq_36428903/article/details/125532846
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号