起因
由于目前市面上很多模拟器诸如夜神,网易MUMU,基本上使用的是x86的架构,虽然运行ARM程序没有问题,但是如果想使用gdb
对ARM程序进行调试的话,就显得力不从心了,各种问题层出不穷,
当然调试x86程序是没有问题的,
如果非要对ARM程序进行gdb
调试的话,可以采用Android Studio原生的模拟器(原生ARM太卡),但是考虑到很多人并不是从事安卓开发,加上Studio中的模拟器本就基于QEMU, 那么为了方便,我们直接搭建QEMU的环境
实验环境
- Windows宿主平台
- QEMU安装包(这里使用的是20201124的版本):https://qemu.weilnetz.de/w64/
- 树莓派系统镜像:http://downloads.raspberrypi.org/raspbian/images/raspbian-2020-02-14/ 树莓派是基于Debian的Linux系统
操作步骤
QEMU下载安装完毕后,其安装目录会包含很多不同架构的执行文件,这里我们选择qemu-system-arm.exe
,打开命令窗口:
qemu-system-arm.exe -machine versatilepb -L -m 128 -hda 2020-02-13-raspbian-buster.img
相关指令选项介绍:
- -M :指定机器
- -name:给虚拟系统起个名称
- -cpu:指定cpu型号
- -smp :指定cpu的个数 比如
-smp 2
- -m: 指定内存大小单位MB
- -vga :指定显卡 比如
-vga vmware
- -hda: 指定硬盘镜像
- -initrd: 指定 RAM磁盘镜像
- -fda : 指定软盘镜像
- -L:bios位置
- -cdrom:光盘镜像
- -no-reboot: 不重启退出
- -kernel :指定内核文件
- -serial :设置串口 比如: