zoukankan      html  css  js  c++  java
  • 《软件调试艺术》读后感一

    1、预备知识

                在进入正题之前要对GDB有一个大概的了解,GDB能干什么?GDB如今的有用性还有多少?等问题,我们带着这种问题去书中探索,这样会使我们学到很多其它的东西。

           首先,我看一张图。这张图不是我画的,可是这张图基本涵盖了《软件调试艺术》这本书的全部内容。

    也就是这本书的浓缩版。精华版。


            这本书主要以GDB调试软件为基础进行解说。可能在此之前我们大家对调试并不关注,或者都没有认为调试有多重要。我们总是写代码,这些代码的project比較小。代码量少,所以调试工具没有太大的帮助。假设我们的程序非常的大,而且还有非常多的线程,这时出现故障之后我们假设一眼找到错误。

    假设指针没有释放。或者是多重释放带来的错误,我们又怎样应对呢?所以学会调试技巧和方法能够为我们提供思路。不至于在以后的project中遇到问题之后无从下手。

    2、工具介绍

            GDB、DDD和Eclipse。后面这两种都是在前面这样的的基础之上建立起来的。DDD仅仅是GDB的一个外包装。内部核心事实上还是GDB。假设问我这几种调试器工具哪种好,我也不能给出确切的答案,毕竟界面和字符各有各的优点,界面的优点是直观,操作简单。字符命令形式的调试器用起来灵活。你能够依照你的意思进行输出、打印等。并不须要受到不论什么的限制。

    所以你能够选择你喜欢的调试器。

             GDB中的调试命令无外乎就是watch(设置监视点)、clear(清除断点)、condition(条件断点)、Info、backtrance(bt)、list、tbreak(暂时断点)、frame、down、up等等。字符界面调试代码就是使用这些命令的一些组合进行使用,当然GDB里面还能够定义宏,假设你一直调试一种应用,而且有一贯的步骤,那么你能够将这些步骤写成一系列的宏。

    将这些的宏放启动文件中面。能够放入原始启动文件也就是主文件夹中的启动文件,也能够在本地项目文件夹中创建启动文件。它们读入的先后顺序不一样,主文件夹的.gdbinit文件是在载入可运行文件之前。而本地的.gdbinit文件是在载入可运行文件及符号表之后。假设你将本地启动文件写成其他文件名称,你还能够通过使用gdb –command=文件名称 x进行载入,这个命令的意思:在可执行文件x上执行GDB,首先要从文件z中读取启动配置。

           介绍这么多,主要是希望大家对GDB有一定的了解。

    引用:

    《软件调试艺术》

    图片:http://www.cnblogs.com/wolflion/p/3381444.html

  • 相关阅读:
    Java学习之集合(HashSet)
    Java学习之集合(LinkedList链表集合)
    Java学习之集合(List接口)
    Java学习之集合(Collection接口)
    【Spring Session】和 Redis 结合实现 Session 共享
    【NodeJS】nvm
    【Html JS】使用问题记录
    【VUE】使用问题记录
    【RabbitMQ】显示耗时处理进度
    【CentOS7】开发环境配置
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6748228.html
Copyright © 2011-2022 走看看