嵌入式调试器 gdb的使用
来源:互联网 发布:python退出命令 编辑:程序博客网 时间:2024/04/24 11:41
1.gdb简介
2.gdb常用命令及举例
3.调试的方法补充
一、gdb简介
在任何的程序开发过程中每一个程序开发员都避免不了程序的出错,为此程序的调试对于每个程序员是必不可少的。
gcc调试C程序时只能根据gcc编译时发出的错误警告进行修改,而gdb可以有更强的调试功能。gdb调试器是由GNU开发的一款调试器,它可以和Visual C++、Visual Basic等开发工具的调试器媲美。
gdb主要有下列这些功能:
1.可以在指定的断点处让被调试程序停止
2.启动被调试程序,可以按自己的意愿运行程序
3.可以动态地改变程序的执行环境
二、gdb的常用命令及举例
1.生成调试信息
在使用gdb调试器时,编译时我们必须将gdb的调试信息加到可执行文件中,我们通过-g实现。
gcc -g filename
2.启动gdb
3.gdb下的常用命令及命令举例
命令
命令描述
run
运行程序
List(或l)
列出源代码,接着上次的位置往下列,每次列10行
break
设置断点
next(或n)
一步步执行下一行语句,不会进入子函数
info
列出信息
print(或p)
打印表达式的值
step
单步执行下一语句,遇到函数时会进入函数去一步步执行
break 函数名
在调用到某一函数时停止
delete 断点号
删除某一断点
Continue
运行到下一断点结束,无断点则一直执行
finish
执行完当前函数返回到调用它的函数
运行程序:run
源代码罗列:list(或l)
断点设置:break
删除断点:delete
三、调试的方法补充
程序员在开发一项软件时通常有两个版本,一个是测试版本,一个是发行版本。通常测试版本里含有测试信息,而发行版本则不显示这些信息。通常他们采用的是在程序中添加下面这样的一个头文件。
通常其中定义有_DEBUG_这一宏定义,此处没有定义,这一头文件用于发行版程序。#define debug_msg(fmt, args...) printf(fmt, ##args)这一语句表示当定义了_DEBUG_这一宏时将源代码中的debug_msg(fmt, args...)替换成printf(fmt, ##args),这样程序员在调试时就可以很容易发现错误的位置并进行修改。
若要在头文件中添加宏定义_DEBUG_,可在编译hello.c文件时输入gcc hello.c -D_DEBUG_,-D的功能是在编译hello.c文件时在其头文件中添加-D后的宏定义。
- 嵌入式调试器 gdb的使用
- 嵌入式的gdb调试
- 嵌入式的gdb调试
- 嵌入式调试器---GDB
- 嵌入式调试器GDB
- 嵌入式调试器-GDB
- 嵌入式调试器GDB
- 嵌入式gdb调试的方法
- 嵌入式的 gdb 远程调试
- 嵌入式LINUX调试器GDB
- GDB调试器的使用
- GDB调试器的使用
- 嵌入式调试器GDB调试过程
- 使用GDB调试嵌入式Linux设备
- 使用gdb来调试嵌入式系统
- 使用GDB进行嵌入式远程调试
- 使用GDB进行嵌入式远程调试
- 使用gdb+gdbserver调试嵌入式程序
- LeetCode题解:2. Add Two Numbers
- setting-up-webpack-dev-middleware-in-your-express-application
- C语言的数据类型
- 计算一个字符串在另外一个字符串中出现的次数
- 最详细的红黑树解析
- 嵌入式调试器 gdb的使用
- Django管理站点
- spark-shell中的简单操作
- HDU-1848-Fibonacci again and again【sg定理】【博弈】
- 集合List接口
- Linux内核---56.gpio控制
- java 单链表基本操作--插入、删除、测长、打印
- U盘恢复(最后的最后还是量产)
- Java synchronized关键字详解