前言

我只使用了一下用户态

安装

sudo apt-get install qemu-user
sudo apt-get install qemu-use-binfmt qemu-user-binfmt:i386
sudo apt install gdb-multiarch

程序如果是动态链接的话还需要动态链接库

apt search "libc6-" | grep "aarch64"
apt install libc-aarch64-cross
sudo apt install gdb-multiarch

运行

qemu-arm -L /usr/arm-linux-gnueabi ./program

调试

qemu-arm -g 1234 -L /usr/arm-linux-gnueabi ./program

另起一个shell,然后

 gdb-multiarch
(gdb) file ./program # 也要在本地加载远程的目标程序
Reading symbols from ./program
(No debugging symbols found in ./squashfs-root/bin/ip)
(gdb) set architecture aarch64 # 设置架构
The target architecture is set to "aarch64".
(gdb) target remote localhost:1234