没有合适的资源?快使用搜索试试~ 我知道了~
首页GDB:强大的UNIX程序调试工具详解
GDB:强大的UNIX程序调试工具详解
5星 · 超过95%的资源 需积分: 43 39 下载量 170 浏览量
更新于2024-07-27
收藏 846KB PDF 举报
GDB完全中文手册是一份详细介绍GNU开源组织提供的强大UNIX平台下的程序调试工具GDB的指南。相比于图形化IDE如VC和BCB的调试器,GDB在UNIX环境中展现了更为强大的功能,体现了“尺有所短,寸有所长”的理念。该手册详细阐述了GDB的核心功能: 1. 程序启动与控制:GDB允许用户以自定义的方式启动程序,无论是调试新代码还是重新运行已存在的程序,都能实现灵活的控制。 2. 断点设置与条件判断:GDB支持设置断点,这包括设置在特定行号或条件表达式的满足时停止程序执行,增强了调试的精确度。 3. 程序暂停检查:在程序执行过程中遇到断点时,用户可以深入检查程序的状态,包括变量值、内存状态、调用栈信息等,以便于理解问题所在。 4. 动态环境修改:调试过程中,用户可以实时修改程序的执行环境,比如变量的值,这对于动态调试非常有用。 手册还提供了一个简单的示例,展示了如何使用GDB调试C语言程序tst.c,从编译生成可执行文件到启动GDB并逐步执行,演示了GDB的实用操作。GDB作为命令行工具,虽然可能不如图形界面直观,但在某些复杂场景下,它的命令行操作方式可以实现更精细的控制,这是图形化工具难以比拟的优势。 总结来说,GDB完全中文手册是开发者在Unix/Linux系统中进行高效、深度程序调试的必备参考资料,它强调了GDB在控制程序执行流程、分析程序行为以及利用命令行灵活性方面的强大功能。对于任何从事Unix平台软件开发的人来说,理解和掌握GDB是提升工作效率的重要一环。
资源详情
资源推荐
GDB完全手册.txt
1、gdb <program>
program也就是你的执行文件,一般在当然目录下。
2、gdb <program> core
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。
3、gdb <program> <PID>
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。
program应该在PATH环境变量中搜索得到。
GDB启动时,可以加上一些GDB的启动开关,详细的开关可以用gdb -help查看。我在下面只例举一些比较常用的参数:
-symbols <file>
-s <file>
从指定文件中读取符号表。
-se file
从指定文件中读取符号表信息,并把他用在可执行文件中。
-core <file>
-c <file>
调试时core dump的core文件。
-directory <directory>
-d <directory>
加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径。
GDB的命令概貌
———————
启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查
看,如下所示:
/home/hchen> gdb
GNU gdb 5.1.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-suse-linux".
(gdb) help
List of classes of commands:
aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without stopping the program
user-defined -- User-defined commands
Type "help" followed by a class name for a list of commands in that class.
Type "help" followed by command name for full documentation.
Command name abbreviations are allowed if unambiguous.
(gdb)
gdb的命令很多,gdb把之分成许多个种类。help命令只是例出gdb的命令种类,如果要看种类中的命令,可以使用help
<class> 命令,如:help breakpoints,查看设置断点的所有命令。也可以直接help <command>来查看命令的帮助。
gdb中,输入命令时,可以不用打全命令,只用打命令的前几个字符就可以了,当然,命令的前几个字符应该要标志着一
个唯一的命令,在Linux下,你可以敲击两次TAB键来补齐命令的全称,如果有重复的,那么gdb会把其例出来。
示例一:在进入函数func时,设置一个断点。可以敲入break func,或是直接就是b func
(gdb) b func
Breakpoint 1 at 0x8048458: file hello.c, line 10.
示例二:敲入b按两次TAB键,你会看到所有b打头的命令:
(gdb) b
backtrace break bt
(gdb)
示例三:只记得函数的前缀,可以这样:
(gdb) b make_ <按TAB键>
(再按下一次TAB键,你会看到:)
make_a_section_from_file make_environ
make_abs_section make_function_type
make_blockvector make_pointer_type
make_cleanup make_reference_type
make_command make_symbol_completion_list
(gdb) b make_
GDB把所有make开头的函数全部例出来给你查看。
示例四:调试C++的程序时,有可以函数名一样。如:
第 3 页
剩余14页未读,继续阅读
wabcwang
- 粉丝: 7
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机二级Python真题解析与练习资料
- 无需安装即可运行的Windows版XMind 8
- 利用gif4j工具包实现GIF图片的高效裁剪与压缩
- VFH描述子在点云聚类识别中的应用案例
- SQL解释器项目资源,助力计算机专业毕业设计与课程作业
- Java实现Windows本机IP定时上报到服务器
- Windows Research Kernel源码构建指南及工具下载
- 自定义Python插件增强Sublime文本编辑器功能
- 自定义Android屏幕尺寸显示及Ydpi计算工具
- Scratch游戏编程源码合集:雷电战机与猫鼠大战
- ***网上教材管理系统设计与实现详解
- Windows环境下VSCode及Python安装与配置教程
- MinGW-64bit编译opencv库适配Qt5.14
- JavaScript API 中文离线版手册(CHM格式)
- *** 8 MVC应用多语言资源管理技巧
- 互联网+培训资料深度解析与案例分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功