老戚的黑科技之gdb与gdbServer的使用

一、调试原理
有很多时候我们需要把编译出来的进程运行在另外一台机子上,可能是嵌入式开发板,也可能是另一台linux虚拟机,由于某种原因,在起gdb单步调试的时候关联不到源码,这会让我们很不爽。今天将会在这里介绍一种新的调试手段,让进程运行在另一台机子上的同时,单步调试的时候也能显示源码。
很多人只知道用gdb来调试进程,却不知道gdbServer的存在,从名称上也能猜出来,gdbServer是gdb的一个服务端,那gdb必然就是相对应的那个客户端了。这二则之间是TCP连接,gdb发送命令给gdbServer,gdbServer收到命令后会控制进程进行相对应的操作,然后把操作结果反馈给gdb。
二、安装gdb、gdbServer
1、首先从http://ftp.gnu.org/gnu/gdb/上找到系统需要的那个gdb安装包,注意版本号要一样。
2、在linux上用gdb -v来查看gdb的版本,如:
这里的gdb版本是7.6.1-64.e17,因此在网站上找到gdb-7.6.1.tar.gz该包下载。
3、解压:tar zxf gdb-7.6.1.tar.gz
4、在linux系统下,不需要设置/configure –target=arm-linux,只需要执行./configure即可,自动会生成Makefile文件,随后make,直到编译完成。
5、执行cd gdb-7.6.1/gdb/gdbserver,在gdbServer这个目录下有一个gdbServer的可执行文件,只需要把该文件拷贝到目标机子的/usr/bin目录下即可。
三、gdbServer与gdb测试

你可能感兴趣的:(编译器,scons)