zoukankan      html  css  js  c++  java
  • 源代码静态分析工具

    代码写的不严谨,常常会让你的软件出现很多不可预测的错误,而且这种错误有时会表现的很随机性,

    这会给你分析和定位问题带来难度。

    我们可以利用一些优秀的源代码静态分析工具帮助我们检查很多诸如变量未初始化、内存泄漏、空指针引用、

    缓冲区溢出以及数组越界等很多编程时可能会不经意犯下的错误,让软件更加稳定和健壮。

    比较有名的工具有klocwork、lint等。

    案例一内存泄漏之检查:

    p1 = malloc(10);
    if (p1 == null)
    {
        return;
    }

    p2 = malloc(20);
    if (p2 == null)
    {
        return;
    }

    案例二数组越界之检查:

    int a[10] = {0};
    a[10] = 0x20;

    案例三空指针引用之检查:

    char* ps_name = null;
    char s_name[10] = "my_name"
    memcpy(ps_name, s_name, 10);

    案例四缓冲区溢出之检查:

    p1 = malloc(10);
    char s_name[20] = "my name is vector";
    strcpy(p1, s_name);

    虽然编程出错总是无法避免的,但是我们仍然要养成良好的编程习惯,

    尽量减少这种错误,努力提升软件质量。

  • 相关阅读:
    es6 简介
    npm 快速开发技巧
    css清除浮动方法
    mui 总结
    7种 JS 创建对象的经典方式
    JavaScript 的 this 原理
    使用定时器
    dom 操作及方法
    JavaScript的6种继承方式及其优缺点
    贪吃蛇游戏代码
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3313265.html
Copyright © 2011-2022 走看看