博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《软件调试艺术》读后感一
阅读量:5930 次
发布时间:2019-06-19

本文共 1007 字,大约阅读时间需要 3 分钟。

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有一定的了解。

引用:

《软件调试艺术》

图片:

你可能感兴趣的文章
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
跨运营商组播传送案例(multicast-proxy-register应用)
查看>>
JTable的DefaultModel方法getValueAt(a,row)
查看>>
Good Bye 2013 A
查看>>
Automatic Sql Server Backup Utility Using sqlserveragent
查看>>
Java是如何读取和写入浏览器Cookies的
查看>>
篇一、安装配置Android Studio
查看>>
C#代码安装、卸载、监控Windows服务
查看>>
2014年抢票总结
查看>>
zephir开发的扩展“wudimei框架”之模板词法扫描(三)完成代码切分
查看>>
ML 线性回归Linear Regression
查看>>
【转载】SweetAlert2 使用
查看>>
oracle如何用sql查看触发器?
查看>>
如何对HashMap按键值排序
查看>>
test
查看>>
Unity小记
查看>>
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
查看>>
js/jquery/插件表单验证
查看>>
Bandwidth内存带宽測试工具
查看>>