gdb调试及gdbserver远程调试
2009-08-15 15:17
721 查看
gdb调试器是一款GNU开发组织并发布的UNIX/Linux下的程序调试工具,具有强大的功能,足有与Visual Stido媲美,当然友好的界面是没法相比的,呵呵。
开始编译程序将调试信息包含进去,gdb调试器运行在shell中输入gdb就好,也可以输入gdb filename,filename是待调试程序名,下面就按断点、单步等命令一个一个介绍。
1. 进入gdb gdb
退出gdb q(uit)
装入调试文件 file filename
终止调试程序 kill
2. 显示源代码 l(ist )
list n 显示第n行上下5行的代码
3. 断点break
b(reak) n 在第n行设置断点
b 函数名 在函数名设置断点
b [文件名:] 行号或函数名 在文件中特定行或特定函数设置断点
b [文件名:] 行号或函数名 <条件表达式> 满足条件表达式才进入断点
设置的断点都会返回一个断点编号,上面的类似还有tbreak临时断点,达到断点后就指定备删除。
delete [断点号] 删除指定断点
clear 清除所有断点
info 查看断点信息
disable [断点号] 停止断点
enable [断点号] 使能断点
ingore [断点号] <num> 忽略断点num次
condtion[断点号]<条件表达式> 修改断点的条件
4. 单步
n(ext) 相当于step over
s(tep) 相当于step in
5. 运行程序 r(un) funpara
接着运行程序 c(ontinue)
6. 手动设置变量值 set variable i=4
远程gdb调试,嵌入式开发目标板资源有限,没法在目标板上直接进行调试,通常实用gdb+gdbserver的方式进行调试,gdbserver运行在目标板上,gdb运行在宿主机上。
首先,目标板要包含gdbserver,在目标板上启动gdbserver服务,进入要调试程序所在目录,输入下面命令:
表示在目标系统2000端口开启一个调试进程,example为要调试的程序
然后在宿主机上启动gdb程序,同样进入要调试文件所在目录,启动调试器,装入调试文件,输入下面命令
连接目标板连接,输入命令:
连接成功后,目标板显示
remote debugging using:2000
这样连接就成功了,各种命令就可以用了,还有个注意,gdbserver默认程序就运行了,所以不需要在用run命令了。
开始编译程序将调试信息包含进去,gdb调试器运行在shell中输入gdb就好,也可以输入gdb filename,filename是待调试程序名,下面就按断点、单步等命令一个一个介绍。
1. 进入gdb gdb
退出gdb q(uit)
装入调试文件 file filename
终止调试程序 kill
2. 显示源代码 l(ist )
list n 显示第n行上下5行的代码
3. 断点break
b(reak) n 在第n行设置断点
b 函数名 在函数名设置断点
b [文件名:] 行号或函数名 在文件中特定行或特定函数设置断点
b [文件名:] 行号或函数名 <条件表达式> 满足条件表达式才进入断点
设置的断点都会返回一个断点编号,上面的类似还有tbreak临时断点,达到断点后就指定备删除。
delete [断点号] 删除指定断点
clear 清除所有断点
info 查看断点信息
disable [断点号] 停止断点
enable [断点号] 使能断点
ingore [断点号] <num> 忽略断点num次
condtion[断点号]<条件表达式> 修改断点的条件
4. 单步
n(ext) 相当于step over
s(tep) 相当于step in
5. 运行程序 r(un) funpara
接着运行程序 c(ontinue)
6. 手动设置变量值 set variable i=4
远程gdb调试,嵌入式开发目标板资源有限,没法在目标板上直接进行调试,通常实用gdb+gdbserver的方式进行调试,gdbserver运行在目标板上,gdb运行在宿主机上。
首先,目标板要包含gdbserver,在目标板上启动gdbserver服务,进入要调试程序所在目录,输入下面命令:
表示在目标系统2000端口开启一个调试进程,example为要调试的程序
然后在宿主机上启动gdb程序,同样进入要调试文件所在目录,启动调试器,装入调试文件,输入下面命令
连接目标板连接,输入命令:
连接成功后,目标板显示
remote debugging using:2000
这样连接就成功了,各种命令就可以用了,还有个注意,gdbserver默认程序就运行了,所以不需要在用run命令了。
相关文章推荐
- (转)gdbserver远程调试的具体实现
- eclipse gdb gdbserver 远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- TI-Davinci开发系列之五CCS5.2使用gdbserver远程调试应用程序
- arm-linux-gdb(宿主机)+gdbserver(目标机)远程调试
- 实用技巧:Gdbserver远程调试的具…
- gdb+gdbserver远程调试技术(一)——调试环境搭建
- Android gdbserver远程调试native程序方法
- gdb server 远程调试
- gdbserver 远程调试问题:设置文件和so搜索路径
- arm-linux-gdb+gdbserver环境搭建以及远程调试
- 【GDB】gdbserver的使用,远程调试开发板
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试:connection选项找不到
- 远程调试应用程序之gdb+gdbserver
- 实用技巧:Gdbserver远程调试的具…
- IDA + GDBServer实现iPhone程序远程调试
- IDA + GDBServer实现iPhone程序远程调试 (手机远程)
- 配置GDB+GdbServer远程调试环境
- arm远程调试 gdb和gdbserver