docker创建
由于我是在docker里进行调试,首先要创建一个docker
docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -itd --gpus all --name [your_dockername] -p [port]:22 ubuntu:18.04-ssh /bin/bash
一定要加:--cap-add=SYS_PTRACE --security-opt seccomp=unconfined 不然在gdb调试的时候会报warning: warning: Error disabling address space randomization: Operation not permitted
安装qemu
sudo apt-get install qemu qemu-arm-static qemu-kvm-extras
安装交叉编译工具链
下载网址:http://releases.linaro.org/components/toolchain/binaries/7.1-2017.05/arm-linux-gnueabi/
将下载的文件解压到 /usr/local/arm_toolchain
下
配置环境变量PATH:打开~./bashrc
,在最后添加PATH=$PATH:/usr/local/arm_toolchain/arm-linux-gnueabi/bin
最后 source ~./bashrc
arm程序的调试
运行qemu仿真器,在终端输入指令等待调试:qemu-arm -g 1234 [your_arm_program]
再开一个终端利用arm-linux-gdb进入调试器,并通过端口1234连接到qemu-arm等待调试的程序:
arm-linux-gnueabi-gdb [your_arm_program]
(gdb) target remote localhost:1234
(gdb) ...