最近学习art,一般art出现的问题大多数都会涉及到NE。这样就需要使用到gdb调试,并且需要学习汇编知识。但是又不想使用真实手机进行调试,即使使用真实手机也需要编译,然后再push到手机在运行。也有使用Termux但是gdb无法调试,而且屏幕比较小,不太方便。
所以我就有使用arm虚拟机来学习这些的知识的需要。通过查找资料这些发现可以使用QEMU来运行arm版本的ubuntu来学习,而且我最后也对比过编译出来的汇编和手机一样,而且还可以正常使用gdb调试。很符合我的要求。下面来说一下使用步骤:
1、下载并且安装QEMU。下载地址:或者点击此处
https://qemu.weilnetz.de/w64/2024/qemu-w64-setup-20240903.exe
2、下Ubuntu arm版本系统
3、下载Ubuntu系统BIOS文件
4、创建系统镜像
“C:\Program Files\qemu\qemu-img.exe” create ubuntu24.10_arm64.img 32G
5、安装虚拟机
“C:\Program Files\qemu\qemu-system-aarch64.exe” -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu-24.10-live-server-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=ubuntu24.10_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
6、运行虚拟机
“C:\Program Files\qemu\qemu-system-aarch64.exe” -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios QEMU_EFI.fd -nographic -device virtio-scsi-device -drive if=none,file=ubuntu24.10_arm64.img,format=raw,index=0,id=hd0 -device virtio-blk-device,drive=hd0
7、运行完成以后安装gdb、gcc、g++,写一段代码就可以愉快的调试了。
8、有用的GDB调试指令:si、ni、layout、disassemble、display、break。