Linux环境下使用GDB调试内核(一)

1 调试环境的搭建

  1. 1 Windows安装J-Link GDB Sever

官网下载Windows版本的程序,安装即可,Cortex-A7配置如下:
Linux环境下使用GDB调试内核(一)_第1张图片
Note:GDB Sever配置如上,默认网络端口为2331,并且不可修改。

  • 1.2 Linux安装GDB Sever

下载Linux版本的安装包:http://www.segger.com/cms/jlink-software.html
Linux环境下使用GDB调试内核(一)_第2张图片
Note:Ubuntu已有deb安装包,直接双击安装即可。
Linux启动GDB Sever
安装成功后,会有以下内容:
Linux环境下使用GDB调试内核(一)_第3张图片
启动方法一(有图形界面配置):
在/opt/SEGGER/JLink下,运行./JLinkGDBServerExe,将会有图形界面操作,如同Windows配置方法一样。
Linux环境下使用GDB调试内核(一)_第4张图片
启动方法二(无图形界面配置):
直接运行:JLinkGDBServerExe -select USB -device Cortex-A7 -endian little -if SWD -speed 4000 -noir -noLocalhostOnly
Note:虚拟机是否成功连接,取决于虚拟机的USB是否连接到Jlink设备。

  • 1.3 Linux连接GDB Sever
  • 1.3.1 远程登入连接
  • 1.3.1.1 家目录创建 .gdbinit文件

内容如下:

 shell echo target remote $(echo $SSH_CLIENT | awk '{print $1}'):2331 > ~/.tmp.gdb
  source ~/.tmp.gdb
  shell rm ~.tmp.gdb

#以上内容可简化如下:IP地址为需连接GDB Sever对应PC的IP地址。

   #target remote 192.168.0.106:2331
   #Set GDBServer to little endian
   monitor endian little
  
   #Set auto JTAG speed
   monitor speed auto

Note:$(echo $SSH_CLIENT | awk ‘{print $1}’),该获取IP的方法,只适用于普通用户,root用户无法获取到PC的IP地址。

  • 1.3.1.2 启动调试程序

arm-none-linux-gnueabi-gdb 应用程序,如:arm-none-linux-gnueabi-gdb vmlinux

你可能感兴趣的:(#,Linux,GDB调试)