软件调试的艺术:Linux/Unix平台软件调试权威著作
正版,绝版好书
¥
100
九品
仅1件
作者[美]马特洛夫、[美]萨尔兹曼 著;张云 译
出版社人民邮电出版社
出版时间2009-11
版次1
装帧平装
上书时间2023-06-30
商品详情
- 品相描述:九品
图书标准信息
-
作者
[美]马特洛夫、[美]萨尔兹曼 著;张云 译
-
出版社
人民邮电出版社
-
出版时间
2009-11
-
版次
1
-
ISBN
9787115213969
-
定价
39.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
216页
-
字数
337千字
-
正文语种
简体中文
-
原版书名
The Art of Debugging with GDB, DDD, and Eclipse
-
丛书
图灵程序设计丛书
- 【内容简介】
-
调试对于软件的成败至关重要,正确使用恰当的调试工具可以提高发现和改正错误的效率。《软件调试的艺术》详细介绍了3种调试器,GDB用于逐行跟踪程序、设置断点、检查变量以及查看特定时间程序的执行情况,DDD是流行的GDB的GUI前端,而Eclipse提供完整的集成开发环境。书中不但配合实例讨论了如何管理内存、理解转储内存、跟踪程序找出错误等内容,更涵盖了其他同类书忽略的主题,例如线程、客户/服务器、GUI和并行程序,以及如何躲开常见的调试陷阱。
《软件调试的艺术》适合各层次软件开发人员、管理人员和测试人员阅读。
- 【作者简介】
-
NormanMatloff,美国加州大学戴维斯分校计算机科学教授,研究领域涉及并行处理(尤其是软件分布式共享内存)、计算机通信网络、数据安全及数学和应用统计等。他编写了很多开源软件包,创作的在线教程也深受欢迎。
PeterJaySalzman,美国加州大学戴维斯分校理论物理博士,该校Linux用户组的创建者,同时维护着多个受欢迎的在线HOWTO。现在华尔街某金融企业做程序员。
- 【目录】
-
第1章预备知识1
1.1本书使用的调试工具1
1.2编程语言2
1.3调试的原则2
1.3.1调试的本质:确认原则2
1.3.2调试工具对于确认原则的价值所在2
1.3.3其他调试原则3
1.4对比基于文本的调试工具与基于GUI的调试工具,两者之间的折中方案4
1.4.1简要比较界面4
1.4.2折中方法9
1.5主要调试器操作11
1.5.1单步调试源代码11
1.5.2检查变量12
1.5.3在GDB、DDD和Eclipse中设置监视点以应对变量值的改变14
1.5.4上下移动调用栈14
1.6联机帮助15
1.7初涉调试会话16
1.7.1GDB方法18
1.7.2同样的会话在DDD中的情况31
1.7.3Eclipse中的会话34
1.8启动文件的使用38
第2章停下来环顾程序39
2.1暂停机制39
2.2断点概述39
2.3跟踪断点40
2.3.1GDB中的断点列表40
2.3.2DDD中的断点列表41
2.3.3Eclipse中的断点列表42
2.4设置断点42
2.4.1在GDB中设置断点42
2.4.2在DDD中设置断点45
2.4.3在Eclipse中设置断点46
2.5展开GDB示例46
2.6断点的持久性48
2.7删除和禁用断点50
2.7.1在GDB中删除断点50
2.7.2在GDB中禁用断点51
2.7.3在DDD中删除和禁用断点51
2.7.4在Eclipse中删除和禁用断点53
2.7.5在DDD中“移动”断点53
2.7.6DDD中的Undo/Redo断点动作54
2.8进一步介绍浏览断点属性55
2.8.1GDB55
2.8.2DDD56
2.8.3Eclipse56
2.9恢复执行56
2.9.1在GDB中57
2.9.2在DDD中64
2.9.3在Eclipse中66
2.10条件断点66
2.10.1GDB67
2.10.2DDD69
2.10.3Eclipse69
2.11断点命令列表70
2.12监视点74
2.12.1设置监视点75
2.12.2表达式77
第3章检查和设置变量78
3.1主要示例代码78
3.2变量的高级检查和设置80
3.2.1在GDB中检查80
3.2.2在DDD中检查84
3.2.3在Eclipse中检查86
3.2.4检查动态数组88
3.2.5C++代码的情况90
3.2.6监视局部变量92
3.2.7直接检查内存92
3.2.8print和display的高级选项93
3.3从GDB/DDD/Eclipse中设置变量93
3.4GDB自己的变量94
3.4.1使用值历史94
3.4.2方便变量94
第4章程序崩溃处理96
4.1背景资料:内存管理96
4.1.1为什么程序会崩溃96
4.1.2内存中的程序布局97
4.1.3页的概念99
4.1.4页的角色细节99
4.1.5轻微的内存访问程序错误可能不会导致段错误101
4.1.6段错误与Unix信号102
4.1.7其他类型的异常105
4.2核心文件106
4.2.1核心文件的创建方式106
4.2.2某些shell可能禁止创建核心文件107
4.3扩展示例108
4.3.1第一个程序错误111
4.3.2在调试会话期间不要退出GDB113
4.3.3第二个和第三个程序错误113
4.3.4第四个程序错误115
4.3.5第五个和第六个程序错误116
第5章多活动上下文中的调试120
5.1调试客户/服务器网络程序120
5.2调试多线程代码125
5.2.1进程与线程回顾125
5.2.2基本示例127
5.2.3变体132
5.2.4GDB线程命令汇总133
5.2.5DDD中的线程命令134
5.2.6Eclipse中的线程命令134
5.3调试并行应用程序136
5.3.1消息传递系统136
5.3.2共享内存系统141
5.4扩展示例143
5.4.1OpenMP概述143
5.4.2OpenMP示例程序144
第6章特殊主题155
6.1根本无法编译或加载155
6.1.1语法错误消息中的“幽灵”行号155
6.1.2缺少库160
6.2调试GUI程序162
第7章其他工具172
7.1充分利用文本编辑器172
7.1.1语法突出显示172
7.1.2匹配括号174
7.1.3Vim与makefile175
7.1.4makefile和编译器警告176
7.1.5关于将文本编辑器作为IDE的最后一个考虑事项177
7.2充分利用编译器178
7.3C语言中的错误报告178
7.4更好地使用strace和ltrace182
7.5静态代码检查器:lint与其衍生184
7.5.1如何使用splint185
7.5.2本节最后注意事项185
7.6调试动态分配的内存185
7.6.1检测DAM问题的策略188
7.6.2ElectricFence188
7.6.3用GNUC库工具调试DAM问题190
第8章对其他语言使用GDB/DDD/Eclipse196
8.1Java196
8.1.1直接使用GDB调试Java198
8.1.2使用DDD与GDB调试Java201
8.1.3使用DDD作为JDB的GUI201
8.1.4用Eclipse调试Java201
8.2Perl202
8.2.1通过DDD调试Perl204
8.2.2在Eclipse中调试Perl206
8.3Python207
8.3.1在DDD中调试Python208
8.3.2在Eclipse中调试Python209
8.4调试SWIG代码210
8.5汇编语言213
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价