嵌入式Linux的GDB调试环境搭建 | 您所在的位置:网站首页 › gdb调试dll › 嵌入式Linux的GDB调试环境搭建 |
GDB是一个工具,可以像MDK IAR之类的一样一步步的执行程序,查看变量的值,设置断点,查看运行结果。 移植嵌入式linux的板子可能资源不够,性能不强,因此在板子上使用gdbserver通过网络与PC通信,在PC中运行gdb。 具体步骤如下: 获取GDB和gdb server 可以官网下载,也可以从虚拟机中已经安装的交叉编译环境中获取 电路板和ubuntu通信 通过nfs挂载虚拟机下的ubuntu ifconfig eth0 192.168.1.20 mount -t nfs -o nolock,vers=3 192.168.1.10:/linux/nfs/mnt 配置设备IP为192.168.1.20 虚拟机内的ubuntu地址为192.168.1.10 在ubuntu中编译出带gdb调试信息的文件 arm-linux-gnueabihf-gcc -g test.c -o test 将文件放nfs挂载的文件夹。此过程需要在root权限下运行 放置gdb server并运行 将gdb server拷贝入开发板的/bin/目录下 在/bin/目录下运行 gdbserver 192.168.1.10:2001 test 192.168.1.10为ubuntu的ip地址,端口号可随便填写一个,保证不重复,没和已经用的冲突就可。test就是编译好后的文件名字。 注意一定要在gdb server文件所在的目录下运行。 上位机运行GDB 在ubuntu中运行gdb arm-linux-gnueabihf-gdb test 然后就进入了gdb模式,使用gdb的命令就可以运行了 GDB命令 gdb的命令非常多,列举几个常用的 list命令 list 显示linenum行周围的源程序 list 显示function行周围的源程序 list 显示当前行后面的源程序 list - 显示当前行前面的源程序 break命令 break 在指定行号停住 break 在进入指定行号时停住 break *address 在程序运行的内存地址处停住 break 在下一条指令处停住 continue命令 continue命令恢复运行知道程序结束或下一个断点 print命令 此命令打印变量值 print 是表达式,也是被调试程序中的表达式 print /是输出格式,按16进制输出就是/x quit命令 命令(quit)用于退出调试,开发板上的 gdbserver 也会停止 |
CopyRight 2018-2019 实验室设备网 版权所有 |