精华内容
下载资源
问答
  • 代码测试之代码调试

    万次阅读 2011-09-04 12:53:13
    【 声明:版权所有,欢迎转载,请勿用于... 代码测试是我们开发过程中很重要的一步。很多新入行的朋友都会习惯地认为测试只是测试部门的工作,事实上并不是这样。每一位软件工程师对应该本着对自己代码负责的态度,

     【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

     

        代码测试是我们开发过程中很重要的一步。很多新入行的朋友都会习惯地认为测试只是测试部门的工作,事实上并不是这样。每一位软件工程师对应该本着对自己代码负责的态度,在入库或者进行集成测试之前对自己的代码进行充分的测试。那么掌握代码的调试技巧和编写测试用例就成为我们日常生活中很重要的一个部分。本文就针对代码调试问题进行分析和解决。

         调试工具: VisualStudio 6.0

        

        (1)有的执行文件能够进行源码级调试,而某些文件却只能指令级调试?

        答: 这主要取决于我们在编译文件的时候有没有生成调试信息。在vc上面,如果你选择了debug版本,那么就会在debug目录下面生成*.pdb文件;相反,如果此时你选择了release版本,那么很抱歉你就不能进行源码级调试。单击【Build】菜单, 选择【Batch Build】,你就会看到弹出一个对话框,你可以选择生成的执行文件属于debug版本还是release版本了。

     

        (2)常见的调试方法有哪些?

        答: 常见的调试流程是这样的:

            a)右击鼠标,创建一个文本文件,修改为process.c。输入需要调试的代码。

            b)右击鼠标,用VisualStudio 6.0打开。按下【ctrl + F7】,提示是否创建一个工程,单击【确认】,编译器编译process.c文件。按下【F7】,link程序连接process.o文件和lib库,生成exe文件。

            c)单击【F10】,process.exe处于调试状态,你会看到一个黄色的箭头停在main函数的起始位置,这样我们的调试过程就开始了。

            d)通常调试的操作有下面几种: 

                      F10  单步调试,如果遇到的是函数语句,跳过

                      F11  单步调试,如果遇到的是函数语句,进入函数

                      shift +F11 执行到函数的结束位置

                     shift + F5  结束调试状态

                     F5  文件继续运行,直到遇到第一个断点

                     ctrl + shift + F5, 结束当前的调试状态,重新调试文件

                     alt + 3, 打开Watch窗口,你可以输入你希望跟踪的全局变量或者是临时变量,甚至是寄存器,表达式等,这样可以相应的数值

                     alt + 7, 堆栈回溯

                     alt + 6, 内存空间查询,你可以查看制定地址的数值

                     alt  + 4, 查看当前运行函数内部变量的一些数值

                     alt  + 5, 查看cpu寄存器的数值,通常注意的数值有eax,ebp,esp,EIP等

                     alt + 8,  当前的源码状态会变成code和disassemble混编的状态,方便你对语句的精确了解

     

    (3) 如何实现代码的精确调试

         答: 你可以按照如下步骤操作:

                  a) 【alt + F9】 打开breakpoints窗口,选择Data

                  b)单击一个带有右三角形的按钮,弹出Advanced Breakpoint,输入函数名称

                  c) 在expression中输入你希望程序接受调试的条件,比如可以是下面的条件判断

                            num == 2                   判断 num 是否等于2

                            *(long*)0x5000        判断制定内存的数值是否发生异动

     

    (4) vc可以调试多线程吗?

         答:    可以。

                   a)首先单击【F10】,开启文件的调试状态

                   b)单击【Debug】菜单,选择【thread】子菜单

                   c) 在这里,你可以看到当前所有创建的线程,如果你需要对某一个线程进行调试,那么先把你需要调试的线程设置为Set Focus状态,另外一个thread设置为suspend状态,与此同时resume你需要调试的thread即可。

     

    (5)怎么利用vc测试代码覆盖率,函数覆盖率等?

        答案: 首先,你需要删除当前已经生成的Debug下面所有的文件;

                      然后单击【Project】->【setting】, 选择【link】,在【Enable profiling】在前面打钩

                     接着编译、连接生成exe执行文件

                     最后单击【build】->【Profile】, 弹出【profile】窗口, 选择你需要测试的选项,单击【OK】,程序就会自动运行。同时运行的结果会在Output窗口打印出来。

     

     

     

    (全文完)

    展开全文
  • TensorFlow2.x,GPU代码测试

    万次阅读 2019-11-06 11:03:54
    TensorFlow2.0,GPU代码测试 代码如下 import tensorflow as tf import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 不显示等级2以下的提示信息 print('GPU', tf.test.is_gpu_available()) a = tf.constant...

    TensorFlow2.x,GPU代码测试

    代码如下

    import tensorflow as tf
    import os
    
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'  # 不显示等级2以下的提示信息
    
    print('GPU', tf.test.is_gpu_available())
    
    a = tf.constant(2.0)
    b = tf.constant(4.0)
    print(a + b)
    
    

    结果如下就证明tensorflow-gpu安装成功了

    GPU True
    tf.Tensor(6.0, shape=(), dtype=float32)
    

    2020年10月11号更新
    简单安装tensorflow-gpu=2.2.0教程:https://blog.csdn.net/weixin_45092662/article/details/106980282

    利用conda简单安装tensorflow和pytorch的GPU版本教程:
    https://blog.csdn.net/weixin_45092662/article/details/105928951

    有用请点个赞!!
    本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/weixin_45092662。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

    展开全文
  • TensorFlow2.0-GPU代码测试 import tensorflow as tf #查看tensorflow版本 print(tf.__version__) print('GPU', tf.test.is_gpu_available()) a = tf.constant(2.0) b = tf.constant(4.0) print(a + b) 成功如图...

    TensorFlow2.0-GPU代码测试

    import tensorflow as tf
    
    #查看tensorflow版本
    print(tf.__version__)
    
    print('GPU', tf.test.is_gpu_available())
    
    a = tf.constant(2.0)
    b = tf.constant(4.0)
    print(a + b)
    

    成功如图:
    在这里插入图片描述
    在这里插入图片描述

    TensorFlow1.x-GPU代码测试

    import tensorflow as tf
    tf.test.is_gpu_available()
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 如何选择代码测试工具

    千次阅读 2015-02-12 09:50:55
    一、如何建立属于自己的代码测试框架  如何在代码走查中选择合适的自动化工具,一直困扰着嵌入式软件工程师。在嵌入式软件中涉及大量的对齐、大小端以及临界资源保护等等,再加上实时性要求等,目前市面上...

                                                                         一、如何建立属于自己的代码测试框架                   


           如何在代码走查中选择合适的自动化工具,一直困扰着嵌入式软件工程师。在嵌入式软件中涉及大量的对齐、大小端以及临界资源保护等等,再加上实时性要求等,目前市面上可选的代码测试工具少之又少。目前适合嵌入式C代码静态测试的工具在国内能使用到的收费的有TESTBED、QAC、PCLINT,这些都支持MISRA98和MISRA04,但MISRA的规则是灵动的,不同的项目和平台的侧重也不一样,并不完全适用,这个时候就涉及到规则定制了。收费的工具在规则定制上肯定会遇到瓶颈(虽然都开放第三方的可定制的规则和协议),因为工具兼顾通用性,工具的生产商是不会单独为某个项目特征去更改分析器,就算同意修改,也需要担负高昂的设计成本。


            这样我们需要一个开源的分析工具,可以针对公司的代码规范和项目特点进行规则定制(首先规范要对比MISRA标准,是可行的,验证有效的,且规范的条款之间是互补而不是互斥的),这样在代码编写阶段(编码规范检查)和代码走查阶段(一旦项目代码达到一定量级,比如使用了OS\GUI\网络协议栈等等,且公司追逐硬件成本,需要经常移植更换平台,对代码编写人员的要求很高),可以利用定制的工具,帮助开发人员快速定位BUG,并且协助项目管理人员在代码模块提交时进行规范验证和管理。


            目前开源的C分析工具使用比较多的有Cppcheck、Splint、Valgrind,其中Cppcheck、Splint属于静态测试工具(只做语义分析,不运行),Valgrind是动态测试工具(编译且运行代码),cppcheck和Valgrind的侧重点是内存和资源泄漏,而splint较两种工具来说比较全面,这样对后期的规则定制可以少走点弯路,有一定的平台和基础可以搭建属于自己的测试架构。如果公司愿意投入,可以结合splint和valgrind打造一个静态和动态兼顾的测试架构,能覆盖到管理流程的所有阶段,因为valgrind支持覆盖率分析统计,这个是评价单元测试的有效手段。这个看似说起来容易,动起来难,因为splint是维吉尼亚大学和麻省理工联合制作的,而valgrind也是获得了第二届Google-O'Reilly开源代码奖的优秀产品,他们的定制都需要有丰富的C语言基础(都是C做的且都是百万级的代码量),且对主流的linux下的开源词法分析器有一定的了解,好了,大家止步了。


            在这里,笔者告诉大家,一切看起来难的东西都是纸老虎(老毛的名言)。为什么这么说,要知道,这些工具使用的词法分析器也是别人做的,他们也是借用了大量的素材,搭建了这个开源的测试框架,但不可否认他们对代码测试做出的贡献。但我们不应该害怕。后面作者会操刀分解splint和定制优化内存溢出分析实例来帮助读者了解这个工具。当然,文章内容为了通俗易懂且仅代表个人观点,难免会触怒工具的作者,在这里深表歉意。开源之路慢慢,需要大家的无私奉献。欢迎大家拍砖,今天写到这里。收工。


    展开全文
  • Android增量代码测试覆盖率工具

    千次阅读 2018-04-23 17:16:27
    Android增量代码测试覆盖率工具 前言 美团点评业务快速发展,新项目新业务不断出现,在项目开发和测试人员不足、开发同学粗心的情况下,难免会出现少测漏测的情况,如何保证新增代码有足够的测试覆盖率是我们...
  • 下面介绍如何将php代码部署到本地进行php代码测试 1. 成功安装xampp服务器,此处安装在d:\xampp (不要安装在系统C盘,后面关系到权限问题) 2. 成功安装mysql数据库 3. 将php代码全部复制到路径d:\xampp\htdocs...
  • 代码测试覆盖率检查——jacoco

    千次阅读 2019-06-18 17:37:22
    jacoco是java的代码测试覆盖率检查工具,并且提供了maven插件,可以直接在maven中使用。 maven项目中使用 maven的pom文件的配置: <plugin> <groupId>org.jacoco</groupId> <artifactId>...
  • 1.什么是代码测试覆盖率? 基于代码的测试覆盖评测测试过程中已经执行的代码的多少,与之相对的是要执行的剩余代码的多少。代码覆盖可以建立在控制流(语句、分支或路径)或数据流的基础上。控制流覆盖的目的是测试...
  • IntelliJ IDEA 配合Maven使用Junit进行代码测试突然发现IntelliJ IDEA要想使用Junit的@Test只能在测试目录中,以下操作是教你如何在测试目录使用@Test注解第一步在Maven中加入Junit jar的依赖 <groupId>junit ...
  • sonar 集成代码测试覆盖率插件jacoco

    千次阅读 2017-02-13 16:18:25
    sonar 集成代码测试覆盖率插件jacoco sonar安装与配置sonar的安装非常简单,你只要下载sonar的压缩包,解压之后,切换到bin目录下,然后根据你的机器系统类型切换到指定的目录下去运行sonar就可以了,比如我的是在64...
  • 前言在我的上一篇文章 通关Android 单元测试(一)Espresso篇:简介&基础使用 中,简单阐述了Espresso的基本使用,以及为什么我们要使用Espresso。实际上,Espresso进行一个简单的同步功能测试并不难,比如我们...
  • 接口测试(api测试)java代码测试

    万次阅读 2017-01-23 17:01:09
    public class apitest { @Test public void testr() throws ClientProtocolException, IOException, JSONException{ CloseableHttpClient httpclient = HttpClients.createDefault();
  • 写一个程序代码测试CPU和内存的性能,有下面的一段代码,运行出来的结果不对,求大神指导指导 BUFSTART equ  ; 填充:某个安全的内存缓冲区(段地址),用于测试 LEN equ  ; 填充:要复制的大小 SOURCESTART...
  • 浏览器的控制台可以写代码测试

    千次阅读 2019-01-09 19:36:29
    浏览器的控制台可以写js代码,方便测试,也有代码自动提示
  • 代码测试覆盖率Cobertura使用

    千次阅读 2017-07-17 17:47:26
    软件测试中,代码覆盖率是一项衡量是否所有代码都被测到的指标,下面以maven项目为例说明Cobertura工具的使用。(当然还有其他的代码覆盖率测试工具,Emma、Gcov、Lcov等,可以按自己的需求选择合适的工具)1.在...
  • 华为软件编程规范学习(十一)--代码测试、维护11-1:单元测试要求至少达到语句覆盖11-2:单元测试开始要跟踪每一条语句,并观察数据流及变量的变化11-3:清理、整理或优化后的代码要经过审查及测试11-4:代码版本升级...
  • SpringBoot如何进行代码测试

    千次阅读 2018-08-23 15:24:25
    程序里面已经实现了一个最为简单的控制器程序类。 ...   import org.springframework.boot.SpringApplication; ... import org.springframework.boot.autoconfigure.EnableAutoConfiguration;... import org.springfram...
  • 代码测试之内存泄露

    万次阅读 多人点赞 2011-09-04 00:56:07
    【 声明:版权所有,欢迎转载,请勿用于商业用途。...  在我们个人编程的过程当中,内存泄露虽然不会像内存溢出那样造成各种莫名奇妙的问题,但是它的危害也是不可忽视的。一方面,内存的泄露导致我们的软件在运行...
  • QAC静态代码测试工具试用介绍

    万次阅读 2018-01-15 15:35:30
    1、启动license 打开PRQA目录下的RLM-12.1中...3、导入被检测代码文件 点击file--->New Project 导入成功: 4、进行分析 点击需要被分析的源代码文件,点击QAC按钮开始分析,分析完之后会弹出新的窗口:
  • go语言代码测试

    千次阅读 2010-04-17 12:34:00
    在go的pkg库里提供了一个单元测试的框架testing,并提供了一个测试工具gotest 规则如下:如果我们有一个文件add.go,这其对应的测试文件名为add_test.go在add_test.go中,引入testing库,然后添加测试方法测试方法...
  • 代码覆盖率检测正是帮助开发、测试同学提前发现问题,保证代码质量的好帮手。 对于开发者而言,代码覆盖率可以反馈两方面信息: 自测的充分程度。 代码设计的冗余程度。 尽管代码覆盖率对代码质量有着上述好处,但...
  • 文章目录JaCoCo集成SonarQube和Jenkins检查测试覆盖率参考文档引入Jacoco插件集成JaCoCo和SonarQube集成JaCoCo和Jenkins JaCoCo集成SonarQube和Jenkins检查测试覆盖率 参考文档 ... ...
  • 代码测试意味着完全消灭了 Bug?

    千次阅读 2019-01-29 19:14:39
    日前,一位名为 Jens Neuse 的开发者在改进其 graphql 解析库的过程中,发现词法分析器和解析器中存在很多的低效率,因此不得不重构完整的代码库(https:...
  • EclEmma是非侵入式的不需要修改你的项目或执行其它任何安装,它能够在工作平台中启动像运行JUnit测试一样直接对代码覆盖进行分析。覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示。 2.下载安装 1. 下载安装...
  • 由I18n静态代码测试说开去

    万次阅读 2016-12-14 11:27:51
    提到机器学习,相信不少人心中都会默默的飘过三个字——树新风!眼下这样的评价倒也蛮中肯的!但就历史经验看,新技术的步伐往往比我们...目的是通过使用机器学习和统计分析,来自动判断某一行代码是否存在瑕疵。其实代
  • 目前网络上可以找到的关于SIFT算法Matlab测试代码的资源就是: 1 加拿大University of British Columbia 大学计算机科学系教授 David G. Lowe发表于2004年Int Journal of Computer Vision,2(60):91-110的那篇标题...
  • 关于代码测试的几点思考

    千次阅读 2014-10-26 17:53:07
    今天读了王垠的大作《谈“测试驱动的开发”》,有

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 254,114
精华内容 101,645
关键字:

代码测试