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

本文共 1062 字,大约阅读时间需要 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有一定的了解。

引用:

《软件调试艺术》

图片:

转载于:https://www.cnblogs.com/gavanwanggw/p/6748228.html

你可能感兴趣的文章
UISlider遇到的问题和解决
查看>>
OSChina 周四乱弹 ——世界满满的恶意
查看>>
win7修改hosts时提示没有权限的解决方法
查看>>
swift 绘制下载进度
查看>>
maven编译报非法字符:\65279 错误
查看>>
java中的ReentrantLock学习笔记
查看>>
[3.30]#珠海GDG#成立大会胜利闭幕!
查看>>
mybatis 批量Update(2)
查看>>
RabbitMQ安装
查看>>
django 学习笔记 (五)
查看>>
iOS UItableviewCell实现可变高度的UITextView,动态刷新高度
查看>>
iOS开发- 利用runtime拦截UIButton的点击事件,防止重复点击
查看>>
Java,Jsp获取客户端IP地址
查看>>
100-88
查看>>
android4.0.3 编译lichee 报错dhd-cdc-sdmmc-gpl-3.0.8问题
查看>>
Junit 执行保存数据,数据无法保存,控制台不报错
查看>>
crc16 - 产生Modbus RTU格式的CRC码
查看>>
招聘又来了,这次推荐有奖哦
查看>>
我的友情链接
查看>>
Linux下ssh秘钥方式登录远程服务器
查看>>