精华内容
下载资源
问答
  • 2022-02-09 09:38:51

    FOSSID简介:

            FOSSID总部位于瑞典首都斯德哥尔摩。由一群开源技术专家组成的研发团队,该团队拥有18年的开源研发、管理、测试经验。
            在Github、Gitkraken等全球知名开源社区的开源代码检测工具排行榜均位列第一。而在中国的开源社区及开源治理白皮书中多次被提名。
            作为开源治理的标杆,中国赛迪检测认证中心、中国赛宝实验室,中国电子技术标准化研究院塞西实验室,中国信息通信研究院,中国信息安全测评中心率先成为了该产品使用单位,其开具的检测报告就是由该产品进行检测做为依据的。
    开源相关监管要求:
            

     

    开源软件的价值及应用:

    1.降低成本

    2.提高效率

    3.提升创新力

    开源带来的风险有哪些?

    合规性风险

    1.开源许可违规(法律诉讼、产品召回等)

    2.自有代码相关知识产权泄露(被迫开源)

    安全漏洞风险

    1.引入开源软件同时,被动引入安全漏洞。

    无法满足海内/外监管部门要求

    1.软件外包合作,甲方的监管和免责要求。

    2.国家相关机构,对自主知识产权和自主可控的监管要求。

    开源许可证的分类及治理方法

    开源许可证大致分为两类

    1.开放型许可证(MIT、BSD、Apache等)

    2.传染型许可证(MPL、LGPL、GPL、AGPL等)

    用户代码中发现传染型许可证的治理方法

    1.冗余删除

    2.溯源替代

    3.隔离开源

    4.逻辑模仿

    FOSSID能为您做什么?

    开源软件合规性检测

       1.支持所有语言。

       2.能够精确到片段及片段式快速扫描。

       3.支持盲审功能。

       4.强大的开源知识库,目前超过3500万个开源项目,并且开源知识库定期更新。

    安全漏洞扫描

       1.扫描开源代码的同时,也同步扫描开源软件的安全漏洞。

       2.支持超过16万种安全漏洞,与NVD同步。

    FOSSID的应用场景

    企业内部的代码检测需求

       1.项目开源之前,查找自有代码的开源风险。

       2.针对闭源商业代码,也需要规避合规性风险。

    政府部门监管政策对开源治理的要求

       1.国家项目对自主知识产权的要求。

       2.国家对某些重要领域的风险防控要求。

    国际合作中甲方提出的代码扫描需求:代码打包出口到海外,甲方要求出具检测报告免责。

    司法鉴定过程中的代码检测需求:软件知识产权纠纷案件中,代码检测是重要的参考依据。

    企业兼并过程中的代码审计需求:邀请第三方审计,对收购标的进行软件资产评估。

    FOSSID的工作原理:

    FOSSID部署方式:

    分布式部署

       1.将知识库(KB)部署在私有云

       2.WebApp可以在多地部署,提升扫描效率

       3.开源代码扫描分布式管理

       4.对网络质量要求高

     

    本地部署

       1.将知识库(KB)和WebApp都在本地网部署

       2.可以组成便携式系统(KB+WebApp)

       3.硬件部署成本较低

       4.安全性提高

    FOSSID的优势

    技术优势

       1.算法优势-比传统扫描分析快一个数量级。

       2.数据优势-拥有目前世界上最大的开源知识库及安全漏洞库。

       3.部署优势-支持云部署和本地离线式部署。

       4.后发优势-吸取传统优点,改进缺陷,稳定可靠。

    客户反馈

       1.在全球开源治理领域,客户群体的庞大是对产品最高的认可。

       2.中国知名通信厂商和测评机构高度评价FOSSID。

    技术支持

       1.本地技术支持团队,10年以上开源检测经验。

    有兴趣关注~

    Contact us:

    Sale:李先生

    Mobile/Wechat:13552863111

    更多相关内容
  • java代码检测工具

    2019-01-22 09:55:49
    基于java开发手册的java扫描插件,主要功能是扫描出java代码潜在的代码隐患,提升代码质量!
  • 代码检测工具Fortify3.4

    2019-03-01 12:05:27
    代码检测工具,检测出代码中存在的安全问题,并生成报告
  • 简介:5 款阿里常用代码检测工具免费体验,仅需 2 步,Cherry键盘、公仔抱回家,100%拿奖!作者 | 喻阳面临问题在日常研发过程中,我们通常面临的代码资产问题主要分为两大类:代码质量问题和代码安全漏洞。1、代码...
    简介:5 款阿里常用代码检测工具免费体验,仅需 2 步,Cherry键盘、公仔抱回家,100%拿奖!

    作者 | 喻阳


    面临问题


    在日常研发过程中,我们通常面临的代码资产问题主要分为两大类:代码质量问题和代码安全漏洞。


    1、代码质量问题


    代码质量其实是一个老生常谈的话题,但问题是大家都知道它很重要,却又不知道如何去提升和维护这一团队的共同财产。一方面开发人员可能为了功能及时上线,疏忽了对质量的把控,另一方面开发人员编码习惯和程序理解风格各异。


    长期下来代码质量下降通常会自成因果,因为业务压力大而趋于下降,又因此开发效率下降,进一步加大业务压力,导致恶性循环。


    2、代码安全问题


    安全类问题往往隐藏在缺乏安全意识的编码逻辑和未经检测或维护的开源依赖组件中,难以在日常开发和代码评审中被及时察觉。


    代码安全问题也可以分两个方面进行分析:


    • 编码安全问题,即:安全规范类问题,通过避免不符合规范的代码进入企业代码库,减少隐私数据泄露、注入类风险、安全策略漏洞的出现。


    • 依赖安全问题,即:开源依赖三方组件引入的安全漏洞。根据 Synopsys 2020 开源安全报告显示,99%以上的组织使用了开源技术。使用开源组件本身带来的技术交流和站在巨人肩膀上协作、降低开发成本、加快迭代周期、提高软件质量等优势已经不必赘述,但是,开源软件带来一系列便利的同时,也暗藏大量安全风险,据审计,75%的代码库存在安全漏洞,其中 49%包含高危问题,另外 82%的代码库仍在使用超过 4 年的 outdated 组件。


    代码安全类问题,一方面也需要进行准入性检查,根据业务场景和规范配置安全编码规范检测和卡点。另一方面需要定期维护,对于新爆发出的安全漏洞进行及时察觉并修复。




    5 款阿里常用代码监测工具推荐


    1、代码质量检测


    • Java 代码规约检测


    阿里巴巴在实践过程中,各个组织由于历史隔阂和业务风格差异,工程结构差别很大,代码风格迥异,规范不一,沟通成本大,合作效率低,维护成本高。集团发展到现在的规模,需要专业化的技术集团军迭代式、集约式发展,而不是动辄重复造轮,而真正专业化的团队一定会有统一的开发规约,这代表效率、共鸣、情怀、可持续。


    基于上述背景,阿里制定了《阿里巴巴 Java 开发手册》,作为阿里内部 Java 工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL 规约、工程规约、安全规约等。这是近万名阿里 Java 技术精英的经验总结,并经历了多次大规模一线实战检验及完善。


    制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有靠右行驶条款,谁还敢上路。同理,对软件来说,开发规约绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,推行相对标准化,以一种普遍认可的方式一起做事。


    因此,代码规约的目标是:1、码出高效:标准统一,提升沟通效率和研发效能。2、码出质量:防患未然,提升质量意识和系统可维护性,降低故障率。3、码出情怀:工匠精神,追求极致的卓越精神,打磨精品代码。


    代码规约通过 IDE 检测插件、流水线集成测试、代码评审集成等工具手段,深度融入了阿里巴巴的各种开发活动中。与此同时,在云效代码托管平台 Codeup 中,也内置集成了 Java 代码规约检测能力,为开发人员在代码提交和代码评审阶段提供更为方便的快速检查。


    • 代码智能补丁推荐


    缺陷检测和补丁推荐几十年来一直是软件工程领域的难题,又是研究者和一线开发者最为关心的问题之一,这里讲的缺陷不是网络漏洞、系统缺陷,而是隐藏在代码中的缺陷。帮助开发者识别这些缺陷,并进行修复,能够大幅提升软件质量。

    基于业界和学术界较为流行的缺陷检测手段,并分析和规避其局限性,阿里巴巴 Codeup 的算法工程师们提出了一种新的算法,实现更加精准和高效的分析代码缺陷并推荐优化方案,该算法已被国际软件工程大会(ICSE)收录。

    image.gif

    1.jpg


    1、根据 commit message 中的关键词找出修复型的 commit,只取涉及文件小于 5 个的 commit(涉及文件过多的 commit 可能会稀释修复行为)。这个步骤十分依赖开发者良好的 commit习惯,希望开发者能用好 commit,写好 message。


    2、从这些修复型 commit 中以文件级别提取删除内容和新增内容,即 Defect and Patch pairs(DP Pair),这一步难免会有很大的噪声。


    3、利用改进的 DBSCAN 方法对 buggy 和 patch 对同时聚类,将相似的缺陷和补丁代码聚在一起。(也可以做片段级的聚类)通过将相似的缺陷和修复做聚类,减少了上一步留下的大量噪声,同时历史代码提交中大家共同犯过的错具有很强的借鉴意义。


    4、利用自研的模板提取方法总结缺陷代码和补丁代码,并根据不同的变量来适配上下文。


    代码补丁推荐服务目前应用于合并请求的代码自动扫描场景,在代码评审过程中检测可优化代码片段并给出优化建议,将历史评审中的人工经验沉淀下来持续提升企业代码质量。


    2、代码安全检测


    • 敏感信息检测


    近年来,业内发生多起敏感信息(API Key、Database credential、OAuth token 等)通过某些站点被无意识地泄露出去的事件,给企业带来了安全风险,甚至直接的经济损失。


    在我们的实践过程中,我们也面临了类似的问题,硬编码问题出现非常高频,而又缺乏有效的识别机制。因此开发者和企业管理者亟需一款稳定健全的敏感信息检测方法和系统。通过调研我们了解到,目前已有的敏感信息检测工具大多单纯使用规则匹配或信息熵技术,导致其召回率或准确率难以满足预期。因此我们在规则匹配和信息熵技术的基础上,结合上下文语义,提出了一款采用多层检测模型的敏感信息检测工具——SecretRadar。


    2.jpg


    SecretRadar 的技术实现思路主要分为三层,第一层采用规则匹配这种传统敏感信息识别技术,规则匹配具有良好的准确度和扩展性,但是非常依赖比较固化的长度、前缀、变量名,难以应对不同开发者的不同编码风格,容易造成漏报。针对难以固定规则捕捉的场景,在第二层我们采用了信息熵算法。信息熵算法用于衡量代码行混乱程度,对随机生成型密钥和随机身份信息识别效果良好。但信息熵算法也有其局限性,召回率提升的同时误报也增多了。因此在第三层我们采用了模板聚类和上下文语义分析等方法进行过滤优化,针对信息熵结果聚合提取常见关键字,结合上下文语义和当前语法结构提升模型准确率。


    敏感信息检测工具不止服务我们内部开发同学,在云效平台上也支持了超过 2 万代码库、3 千家企业,帮助开发者解决了超过 9 万硬编码问题。


    • 源码漏洞检测


    阿里巴巴采用 Sourcebrella Pinpoint 源伞检测引擎,进行源码漏洞检测,主要涉及到注入类风险和安全策略类风险检测。


    源伞检测引擎是香港科技大学 Prism 研究组在过去十年的时间内的技术研究成果。该引擎吸收了国际上近十年的软件验证技术研究成果,并且加以改进和创新,独立设计和实现了一套技术领先的软件验证系统。其主要验证方式是将编程语言翻译成一阶逻辑和线性代数等数学表达,通过形式化验证技术推理缺陷成因。迄今为止,一共发表了四篇核心技术相关的论文,一篇 PLDI 和三篇 ICSE,研究型的同学可以点击文末链接阅读。


    源伞检测引擎能够在活跃度比较高的大型开源项目中发现隐藏超过 10 年的缺陷,以 MySQL 检测 [5] 为例,这些缺陷都是市面上其他检查工具无法扫描出来的,并且能够在 1.5 小时完成 200 万行大型开源项目的检测。在保持扫描的高效率同时,还能够将误报率控制在 15%左右。对于复杂且体量庞大的分析项目来说,源伞检测引擎所表现的扫描效率和误报率在业内也处于领先水平。


    「源码漏洞检测」集成了源伞检测引擎的安全分析能力,能够在分析精度、速度、深度等方面均衡得到较好的分析结果,具备的核心优势:


    1、支持分析字节码,二三方包的代码逻辑都不会遗漏;

    2、擅长跨函数长调用链路的逻辑分析;

    3、可以处理引用、指针等带来的间接数据修改;

    4、精度高,相比于同类工具,如 Clang、Infer,在精度和有效问题识别上表现更佳;

    5、性能好,目前单应用平均 5 分钟左右分析完毕;


    3.jpg


    源伞检测引擎可以精确的追踪代码中的数据流向,拥有高深度高精度的函数调用链分析能力,可以找到跨越多层函数的深度问题。在发现缺陷的同时还能给出问题触发的过程,完整展示相关的控制流以及数据流,这样可以辅助开发者快速理解和修复问题,在软件开发早期更低成本地提高软件质量,大幅减少生产成本,提高研发效能。


    • 依赖包漏洞检测


    我们期望对于开源组件的安全可信程度,为开发者建立一种有效的检测和管理机制,因此我们实现了依赖包漏洞检测服务和依赖包安全问题报表。在实践过程中,开发者普遍反映依赖包漏洞修复成本大多高于修复自身编码漏洞,从而不愿意或难于处理此类问题。究其原因,一方面是大部分漏洞并非直接引入,而是依赖的第三方组件又间接依赖了其它组件,另一方面是不确定具体哪个版本是干净可用且兼容的。


    4.jpg


    为了降低开发者的修复难度,我们对依赖项的引用关系进行了进一步识别分析,清晰的标注出直接依赖和间接依赖,并定位到具体的依赖包引入文件,方便开发者快速找到关键问题位置。同时,通过对漏洞数据的聚合,智能推荐修复漏洞的版本升级建议,因为一个依赖可能对应多个漏洞问题,开发者可以针对建议评估是否接受采用。通过分析不同版本间的 API 变更和代码调用链路,衡量版本升级成本,为开发人员自动创建修复评审,最大程度的帮助开发人员更高效地维护代码安全。


    无论是代码质量检测还是代码安全检测,以上 5 款阿里代码自动检测工具,开发者们都可以在云效 Codeup 内免费体验。



    检测服务应用


    1、代码提交


    检测服务的最直接的应用便是在代码提交场景中,企业可以根据业务场景和规范,制定和配置不同项目的检查方案。当开发者将代码变更推送至服务端,自动触发当前代码库配置的检测服务,可以为开发者检查当前 commit 版本中的全量问题,帮助开发者及早发现新增问题,并确认存量问题的解决情况。通过接入上述检测服务,可以从代码规范、代码质量、代码安全等多个维度进行测试左移,在开发人员刚完成编码时就进行快速检测和反馈。


    2、代码评审


    在企业项目协同中,开发者多以合并请求的方式将特性分支代码合入主干分支,合并请求过程需要项目开发负责人或模块负责人进行代码评审和人工检查。一方面人工审查代码需要投入较大精力,另一方面人工审查难以覆盖代码各个维度的潜在问题。因此,通过合理配置检测服务,可以极大地减少人工评审的工作量,加速代码评审的工作过程。同时,通过丰富、筛选、沉淀检测规则集和人工经验,检测服务可以更加贴合企业的业务场景进行卡点,避免不符合规范或存在风险的代码进入企业代码库。


    3、代码度量


    检测服务除了在代码提交和代码评审阶段帮助开发者及早发现问题并解决问题,还可以帮助管理者进行企业代码质量度量和风险可视化。通过建设企业级报表服务和项目任务管理,可以更为直观地度量项目演进过程中的安全问题和质量问题。



    扩展阅读


    1. Pinpoint: Fast and Precise Sparse Value Flow Analysis for Million Lines of Code 

    http://t.tb.cn/0qxIpFV5sRD5uxOcgED7o


    2. SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code 

    http://t.tb.cn/2l96Jh2yqOGowsfs4oVk2m


    3. Pipelining Bottom-up Data Flow Analysis

    https://qingkaishi.github.io/public_pdfs/ICSE2020a.pdf


    4. Conquering the Extensional Scalability Problem for Value-Flow Analysis Frameworks 

    https://qingkaishi.github.io/public_pdfs/ICSE2020b.pdf




    活动推荐


    代码捉虫-PC.jpg


    5 款阿里常用代码检测工具免费体验,仅需 2 步,Cherry键盘、公仔抱回家,100%拿奖!


    都 2021 年了,你还认为代码检测=语法/风格扫描?

    大厂每年数百万采购的扫描软件,都在采购什么?如何不花钱白嫖?

    落地 DevOps 的第 2 步是什么?

    什么是接入成本最低的质量和安全提升工具?

    云效 DevOps 实验室特推出【1 分钟代码自动捉虫】活动

    1-3 分钟,给你的代码做个全身体检吧。


    体验完成,还可抽 Cherry 机械键盘、阿里云定制 GIt 命令鼠标垫、积木星球等,1000 分礼品,
    100%中奖


    点击下方链接,立刻参与活动!注:本活动仅限云效新用户参加

    https://developer.aliyun.com/adc/series/activity/bugdetect

    原文链接:https://developer.aliyun.com/article/790204?

    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
    展开全文
  • 代码检测工具,用于代码评审是检测代码行数等,可以检测出代码缺陷和有效代码行数
  • Java好用的代码检测工具有哪些?

    千次阅读 2021-11-16 15:19:47
    Java老手应该都知道,阿里在2017年10月份的云栖大会上发布了基于Java开发手册的Java扫描插件,主要功能是扫描出java代码潜在的代码隐患,提升代码质量!将不符合规约的代码显示出来,还实现了一键bug修复的功能,...

            Java老手应该都知道,阿里在2017年10月份的云栖大会上发布了基于Java开发手册的Java扫描插件主要功能是扫描出java代码潜在的代码隐患,提升代码质量!将不符合规约的代码显示出来,还实现了一键bug修复的功能,支持idea和eclipse。

            接下来就简单说下怎么使用!

    1、插件安装

    点击settings---->plugins---->Browse repositories

            搜索框中输入alibaba 选择 Alibaba Java Coding Guidelines,点击 右边的Install按钮进行安装,安装完成之后重启idea。

    2、插件使用

    右键单击class

            可以看到这个class在代码规范中哪里需要修改

            大家在学习Java的过程当中,以后还会接触到更多的工具,大家可要好好了解哦。

            代码检测工具就是这样了,下面给大家分享一套学习视频!

     Java学习视频

            了解了Java常用工具,还得有一套Java学习视频啊,Java300集是高淇老师专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

     推荐学习视频:

    【Java300集】全新的Java300集来啦!java零基础小白自学Java必备优质教程

    【Java入门】Java零基础入门必看!Java常用类视频教程_JavaSE_Java基础教程

    展开全文
  • 一个超级简单的Python死代码检测工具
  • 代码检测工具

    2015-04-27 11:41:54
    代码检测工具
  • 静态代码检测工具

    2015-09-01 14:40:13
    自己从网上搜索的一些静态代码检测工具的简要描述!
  • 每天都会产生新的代码、用户测试工具和框架。下面的列表列出了可以完成各种测试需求的代码工具。你应该调查研究一下,看这些工具是否适用于你的技术栈和技术需求。 01. Jasmine Jasmine 是一个行为驱动的测试开发...
  • Java代码检查工具测试工具、亲测可用,内有使用方法
  • Windows下 C++代码检测工具

    千次阅读 2019-07-06 12:53:22
    最近在查阅一些windows系统下的C++代码及性能检测工具, 按照检测类别分别静态检测和动态检测。 静态检测: 在程序没有被实际执行的情况下执行的计算机软件分析,大部分是对源代码的分析和检测。 动态检测: 通过...

    最近在查阅一些windows系统下的C++代码及性能检测工具, 按照检测类别分别静态检测和动态检测。

    静态检测: 在程序没有被实际执行的情况下执行的计算机软件分析,大部分是对源代码的分析和检测。

    动态检测: 通过在真实或虚拟处理器上执行程序来执行的计算机软件的分析。

    动态检测范围包括:代码覆盖率分析、 内存检测、安全性分析、并发分析、性能分析等。

    今天的文章主要针对 静态检测 及 动态检测。

    目录

    win下C++ 静态代码检测

    ​​​​​工具一:Tscancode(推荐)

    工具二:cppcheck

    工具三: Visual stdio中代码分析

    工具四: cpplint(推荐)

    win下C++动态检测

                   代码覆盖率检测:OpenCppCoverage (推荐)

          内存检测方法:

    工具一: windows CTR检测

    工具二: vld检测(推荐)

    工具三: Dr Memory


     

    win下C++ 静态代码检测

    • ​​​​​工具一:Tscancode(推荐)

     腾讯开源软件,地址:https://github.com/Tencent/TscanCode , 操作界面如下, 使用简单,检查结果一目了然。目前有腾讯开发维护。

    • 工具二:cppcheck

    开源,地址:http://cppcheck.net/ , cppcheck检查结果如下:

    关于cpcheck 与 tscancode 及其他主流静态检测工具的对比可参考: https://blog.csdn.net/lovespring116/article/details/73504190, 本文推荐使用 Tscancode对代码进行静态检测

    • 工具三: Visual stdio中代码分析

    • 工具四: cpplint(推荐)

    cpplint:根据google代码风格进行检查,介绍:https://en.wikipedia.org/wiki/Cpplint, 可以嵌入到vs程序中, 下载地址: https://pypi.org/project/cpplint/, 使用参考: https://blog.csdn.net/liulihuo_gyh/article/details/79986685

    需要下载python,建议下载 python 2.x版本,本文使用 2.7.0,下载地址 https://www.python.org/downloads/release/python-270/  Windows X86-64 MSI Installer, cpplint 嵌入到vs中操作如下, 双击输出中的具体行,可以定位到源文件中。

     

    win下C++动态检测

    代码覆盖率检测:OpenCppCoverage (推荐)

    开源地址: https://github.com/OpenCppCoverage/OpenCppCoverage   如果想在vs中插件运行, 工具--扩展和更新, 在联机中搜索 OpenCppCoverage。使用时在工具下可以直接运行opencppcoverage。 如果使用命令行运行可以添加 opencppcoverage的系统环境变量, 在cmd中通过命令使用。检测结果如下:红色代码未执行, 绿色代码已执行。

    内存检测方法:

    工具一: windows CTR检测

    官网介绍: https://docs.microsoft.com/zh-cn/visualstudio/debugger/finding-memory-leaks-using-the-crt-library?view=vs-2015

    缺点:只能在debug模式下使用,release版本不支持。

    
    #include <iostream>
    #define _CRTDBG_MAP_ALLOC
    #include <stdlib.h>  
    #include <crtdbg.h>  
    
    #ifdef _DEBUG
    #define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
    // Replace _NORMAL_BLOCK with _CLIENT_BLOCK if you want the
    // allocations to be of _CLIENT_BLOCK type
    #else
    #define DBG_NEW new
    #endif
    
    int main()
    {
    	printf("this is a test in main\n");
    
    	int *a = DBG_NEW int[100];
    
    	system("pause");
    	_CrtDumpMemoryLeaks();
    
    	return 0;
    }

    debug下的输出: 

    Detected memory leaks!
    Dumping objects ->
    consoleapplication3\consoleapplication3\main.cpp(28) : {68} normal block at 0x0136D330, 400 bytes long.
     Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
    Object dump complete.

    工具二: vld检测(推荐)

     官网介绍:   https://kinddragon.github.io/vld/, github地址: https://github.com/KindDragon/vld

     使用方法, 到https://kinddragon.github.io/vld/ 下载 vld,安装后在安装目录下生成  include  lib  bin等文件, 新建工程,将以上文件配置到工程中。

    #include <iostream>
    #define VLD_FORCE_ENABLE  //VLD_FORCE_ENABLE宏需要定义在 vld.h 之前
    #include "vld\include\vld.h"
    #include "vld\include\vld_def.h"
    
    int main()
    {
    	printf("file: %s,  line:%d \n", __FILE__,  __LINE__);
    	int *b = new int[1000];
    	system("pause");
    	return 0;
    }

    或者在预处理宏  中添加  VLD_FORCE_ENABLE, 如下图:

                                        

    结果输出:

    Visual Leak Detector read settings from: D:\Program Files (x86)\Visual Leak Detector\vld.ini
    Visual Leak Detector Version 2.5.1 installed.
    file: main.cpp,  line:8
    请按任意键继续. . .

    程序结束运行后输出如下, 双击工程源文件对应的泄露可以直接跳转到该文件。

    WARNING: Visual Leak Detector detected memory leaks!
    ---------- Block 1 at 0x00123018: 4000 bytes ----------
      Leak Hash: 0x11C3C7BA, Count: 1, Total 4000 bytes
      Call Stack (TID 32116):
        MSVCR120.dll!operator new()
        d:\work\code\testcode\consoleapplication2\consoleapplication2\main.cpp (10): ConsoleApplication2.exe!main()
        KERNEL32.DLL!BaseThreadInitThunk() + 0x24 bytes
        ntdll.dll!RtlAreBitsSet() + 0x88 bytes
        ntdll.dll!RtlAreBitsSet() + 0x58 bytes
      Data:
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
        0D F0 AD BA    0D F0 AD BA    0D F0 AD BA    0D F0 AD BA     ........ ........
    Visual Leak Detector detected 1 memory leak (4000 bytes).
    Largest number used: 4000 bytes.
    Total allocations: 4000 bytes.
    Visual Leak Detector is now exiting.

    工具三: Dr Memory

    官网介绍:http://www.drmemory.org/, 使用介绍:http://drmemory.org/docs/page_options.html

    Dr Memory是基于DynamoRIO开发的跨平台内存调试程序, 支持 Windows  Linux  Android和Mac。

    DynamoRIO 是一个跨平台的二进制插桩程序,支持 Windows  Linux  Android等。

    工具对比说明: 工具一需要在程序 debug 模式下使用, vld和 drmemory 在debug 和 release 下都可以检测,不过如果工程较大,drmemory的全量检测会很卡,指定参数 -leaks_only  可以只检测内存问题。

     

    展开全文
  • Apache Log4j2 远程代码执行漏洞检测工具,包含windows版和linux版。图形化 Apache Log4j2检测工具
  • 我们调研了市场上常用的iOS覆盖率检测工具,这些工具主要存在以下四个问题:第三方工具有时生成的检测报告文件会出错甚至会失败,开发者对覆盖率生成原理不了解,遇到这类问题容易弃用工具。第三方工具每次展示全量...
  • PLC通信工具 HslCommunication 测试工具(10.6.1最新版本) 及 源代码
  • ucdetector无用代码检测工具.rar 是一个小巧的eclipse插件,检测未被调用的方法或属性字段,有相关文档说明
  • 软件开发测试中经常使用的4种静态源代码测试工具的,能够帮助大部分人解决测试问题
  • 代码检测工具cct

    2018-12-18 16:25:15
    代码量统计工具,日常工作统计代码量足够了,操作简单方便
  • 根据IT研究与顾问咨询公司Gartner统计数据显示,75%的...越来越多的安全产品厂商也已经在考虑关注软件开发的整个流程,将安全检测与监测融入需求分析、概要设计、详细设计、编码、测试等各个阶段以全面的保证应用安全。
  • idea java程序员必备 代码检测工具

    千次阅读 2019-12-05 11:42:52
    代码规范插件 项目地址:https://github.com/alibaba/p3c 看清楚,点击,README.md 文件有详细教程,这里不多说; 检测结果分为三个等级: 等级 严重程度 备注 BLOCKER 严重的 有明显问题,...
  • C/C++ 代码检测工具

    千次阅读 2018-07-13 13:33:38
    valgrind:...C/C++静态代码检查工具对比分析:http://qa.blog.163.com/blog/static/190147002201611147530522/ C++代码质量扫描主流工具深度比较:https://blog.csdn.net/wetest_tencent/article...
  • 非常好用的java代码检测工具

    千次阅读 2019-02-19 11:44:00
    阿里在2017年10月份的云栖大会上发布了基于java开发手册的java扫描插件,主要功能是扫描出java代码潜在的代码隐患,提升代码质量!将不符合规约的代码显示出来,还实现了一键bug修复的功能,支持idea和eclipse。 1....
  • 三款主流静态源代码安全检测工具比较 静态代码分析工具清单:开源篇(各语言) 代码静态分析工具——splint的学习与使用 3.代码测试框架 使用 Jtest:一款优秀的 Java 代码优化和测试工具 java单元测试工具 ...
  • 推荐几个代码静态分析工具

    千次阅读 2021-04-26 00:24:44
    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号|嵌入式专栏大家平时写代码,有用代码静态分析工具进行分析吗?可能很多人都没有对代码进行过静态分析,今天就来...
  • 阿里在2017年10月份的云栖大会上发布了基于java开发手册的java扫描插件,主要功能是扫描出java代码潜在的代码隐患,提升代码质量!将不符合规约的代码显示出来,还实现了一键bug修复的功能,支持idea和eclipse。 一、...
  • plcdemo 是工具,另一个文件压缩是源代码。支持多种常见plc通信,可用于测试plc连通状态,包括各种数据类型的读写测试。无需配置,打开就能用。开发的话可配合Hslcommunication.dll 使用。
  • 受自己阅历和工作经验,项目工期的影响,很多时候我们检查自己的代码很难发现错误(不知道大家有没有这个感觉),或者我们不觉着这块代码有问题,这时候就需要用到“静态代码检测工具”,Andro...
  • 可以绑定到SonarQube 查看检测的结果 对于代码中的警告我们不能视而不见 有了代码质量检测工具以后,在一定程度上可以保证代码的质量 对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,454,511
精华内容 581,804
关键字:

代码测试工具