写在最前面:GDB是unix相关操作系统中C/C++程序开发必不可少的工具,它的功能之强大,是其它调试器所不能匹敌的。但是,现实的工作中, 有很多开发者因为GDB本身入门门槛比较高,而被h拒之门,与如此强大的失之交臂。笔者在近两年的C/C++开发工作中,对GDB本身的有一点研究,在这里 总结出一系列《手把手教你玩转GDB》的文章,一方面权当是对自己经验的一个总结,一方面也是真的想能够对刚接触GDB的开发者朋友带去一些帮助,让更多 的人来使用如此强大的工具。今天推出第一篇:
第一部分 牛刀小试:启动GDB开始调试
1. 启动GDB开始调试:
(1)gdb program ///最常用的用gdb启动程序,开始调试的方式(2)gdb program core ///用gdb查看core dump文件,跟踪程序core的原因(3)gdb program pid ///用gdb调试已经开始运行的程序,指定pid即可
2. 应用程序带命令行参数的情况,可以通过下面两种方法启动:
(1)启动GDB的时候,加上–args选项,然后把应用程序和其命令行参数带在后面,具体格式为:gdb –args program args(2)先按1中讲的方法启动GDB, 然后再执行run命令的时候,后面加上参数
3. 退出GDB:
(1)End-of-File(Ctrl+d)(2)quit或者q
4. 在GDB调试程序的时候执行shell命令:
(1)shell command args(也可以先执行shell命令,GDB会退出到当前shell, 执行完command后,然后在shell中执行exit命令,便可回到GDB)(2)make make-args(等同于shell make make-args)
5. 在GDB中获取帮助:
(1)在GDB中执行help命令,可以得到如图1所示的帮助信息:
图1 GDB帮助菜单由图1可以看出,GDB中的命令可以分为八类:别名(aliases)、断点(breakpoints)、数据(data)、文件(files)、内部 (internals)、隐含(obscure)、运行(running)、栈(stack)、状态(status)、支持(support)、跟踪点 (tracepoints)和用户自定义(user-defined)。(2)help class-name:查看该类型的命令的详细帮助说明(3)help all:列出所有命令的详细说明(4)help command:列出命令command的详细说明(5)apropos word:列出与word这个词相关的命令的详细说明(6)complete args:列出所有以args为前辍的命令
6. info和show:
(1)info:用来获取和被调试的应用程序相关的信息(2)show:用来获取GDB本身设置相关的一些信息
文是《手把手教你玩转GDB》系列的第二篇,主要内容是用GDB调试程序中比较常用到的断点(breakpoint)、监视点 (watchpoint)和捕捉点(catchpoint)。虽然说这三类point的功能是不一样的,但它们的用法却极为相似。因此,本文将以断 breakpoint为例,进行详细的介绍,关于watchpoint和catchpoint的介绍就相对比较粗略,相信读者朋友如果能够理解 breakpoint的部分,那么便可以触类旁通,学会watchpoint和catchpoint的用法。
1. Breakpoint: 作用是让程序执行到某个特定的地方停止运行
? (1)设置breakpoint:
a. break function: 在函数funtion入口处设置breakpointb. break +offset: 在程序当前停止的行向前offset行处设置breakpointc. break –offset: 在程序当前停止的行向衙offset行处设置breakpointd. break linenum: 在当前源文件的第linenum行处设置breakpointe. break filename:linenum: 在名为filename的源文件的第linenum行处设置breakpointf. break filename:function: 在名为filename的源文件中的function函数入口处设置breakpointg. break *address: 在程序的地址address处设置breakpointh. break … if cond: …代表上面讲到的任意一个可能的参数,在某处设置一个breakpoint, 但且仅但cond为true时,程序停下来i. tbreak args: 设
您可能关注的文档
最近下载
- 山桐子种植加工、旅游项目可行性研究报告商业计划书.docx VIP
- 山桐子种植及种苗培育种植加工可行性研究报告申请备案.doc VIP
- 和田地区2026年度地直机关公开遴选公务员、事业单位公开选聘工作人员备考题库及完整答案详解1套.docx VIP
- 山桐子合作种植协议合同.docx VIP
- 2025年香氛未来趋势报告-英敏特.docx VIP
- 报告正文2014年太阳绿宝.pdf VIP
- 2025年高考:云南物理--试题及答案.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
- (2025)山桐子产业开发生产建设项目可行性研究报告(一).docx VIP
- 2024-2025学年广东省东莞市统编版三年级上册期末考试语文试卷.pdf VIP
原创力文档

文档评论(0)